Install FTP and Config to use SSL/TLS (SFTP) in ubuntu

23 Mar 2016,
Share: 

ก่อนอื่นมาดูกันว่า FTP คืออะไร FTP ย่อมาจาก File Transfer Protocol ซึ่งเป็น Protocol ที่ใช้ รับ-ส่ง ไฟล์ระหว่าง server และ client ส่วน SFTP ก็เหมือนกับ FTP แต่จะเพิ่มกระบวนการ SSL/TLS เพื่อให้มีความปลอดภัยมากยิ่งขึ้น

ติดตั้ง FTP server

FTP server ที่ผมใช้คือ vsftpd วิธีการติดตั้งคือ ติดตั้งโดยใช้คําสั่ง

sudo apt-get install vsftpd

ถึงตอนนี้ยังใช้งานไม่ได้ เราจะต้องไป config ค่าต่างๆก่อน

Config vsftpd เบื้องต้น

เปิดไฟล์ config ด้วยคําสั่ง

sudo nano /etc/vsftpd.conf

ปิดการล็อกอินด้วยผู้ใช้ชื่อ anonymous ให้หาคําว่า “anonymous_enable=YES”  แล้วเปลี่ยนเป็น

anonymous_enable=NO

เปิดให้ผู้ใช้ภายในแต่ละคนล็อกอินได้ ให้หาคําว่า “#local_enable=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

local_enable=YES

เปิดให้ผู้ใช้สามารถเขียนไฟล์ได้ ให้หาคําว่า “#write_enable=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

write_enable=YES

กําหนดให้ user สามารถมองเห็นแต่ directory home ของตังเองเท่านั้น ให้หาคําว่า “#chroot_local_user=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

chroot_local_user=YES

ถ้าเป็น vsftpd 3.0.0 (=Ubuntu 13.10) จะต้องเพิ่มคําสั่งนี้เข้าไป

allow_writeable_chroot=YES

save file แล้วปิดไฟล์ โดยกด Ctrl+x แล้วตามด้วย y แล้ว enter เสร็จสิ้นการ config วิธีใช้งานก็เข้าใช้งานด้วย user ของ ubuntu ที่สร้างขึ้น ส่วน home directory ก็จะเป็นตาม config ของ user นั้นๆ เท่านี้ก็ได้ FTP server แล้ว แต่ถ้าต้องการความปลอดภัยมากยิ่งขึ้น ก็ต้อง Configure SSL with vsftpd เพิ่มเติมอยู่ในหัวข้อถัดไป

Configure SSL with vsftpd

ขั้นตอนการ config จะมีด้วยกันสองส่วนคือ

  • Create SSL certificates and key
  • Add the SSL Details to the vsftpd Configuration

SSL certificates and key

Create certificates and key ด้วยคําสั่ง

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem

เราจะได้ไฟล์ SSL certificates and key อยู่ที่ “/etc/ssl/private/vsftpd.pem”

Add the SSL Details to the vsftpd Configuration

เปิดไฟล์ config ของ vsftpd ด้วยคําสั่ง

sudo nano /etc/vsftpd.conf

แก้ไข หรือเพิ่มคําสั่งนี้เข้าไป(ถ้ามีอยู่แล้วก็ให้แก้ไขให้เป็นตามนี้ แต่ถ้าไม่มีให้เพิ่มเข้าไป)

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

เพิ่มคําสั่งนี้เข้าไป

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

require_ssl_reuse=NO
ssl_ciphers=HIGH

Restart FTP server ด้วยคําสั่ง

sudo service vsftpd restart

เสร็จสิ้นการ config SFTP พร้อมใช้งาน

Image

Suggestion blogs

chown Command เปลี่ยน Owner ของ file ใน Ubuntu

ระบบ file ใน Ubuntu จะมีการกําหนด Owner และ สิทธิ์ของ User การอ่านสิทธิ์เข้าใช้งาน file, Directory ใน ubuntu") ที่จะกระทําการใดๆกับ file หรือ Directory นั้นๆ โดยปกติแล้ว User ที่สร้าไฟล์หนึ่งขึ้นมา จะเป็นเจ้าของไฟล์(Owner)นั้นโดยอัตโนมัติ แต่ถ้าหากต้องการแก้ไข เจ้าของไฟล์ให้เป็น User อื่น สามารถเปลี่ยนด้วยคําสั่งนี้

Auto clean journal

สวัสดีครับ ในบทความนี้ผมจะอธิบายวิธีการ config ให้ระบบทําการ clean ข้อมูลของ journal แบบอัตโนมัติ ถ้าท่านใดยังไม่ทราบว่า Journal คืออะไร ให้ย้อนกับไปอ่านในบทความที่แล้ว Journaling file system คืออะไร

C++ OOP การสร้าง Class และการใช้งาน Class

การสร้าง Class และการใช้งาน Class ในภาษา C++ มาดูวิธีการเขียนเลยครับ ก่อนอื่นให้เราสร้าง header(*.h) ก่อนครับ ไฟล์นี้จะเป็นตัวที่ใช้ระบุว่า Class เราชื่ออะไรมี method อะไรบ้าง มี field อะไรบ้าง รูปแบบการเขียนคือ


Copyright © 2019 - 2025 thiti.dev |  v1.51.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ