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

23 Mar 2016

Share to:

ก่อนอื่นมาดูกันว่า 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

Palindrome คืออะไร

Palindrome หมายถึงกลุ่มคําหรือประโยคที่สามารถสะกดได้เหมือนเดิมทั้งจากด้านหน้าไปหลัง หรือจากด้านหลังไปหน้า เช่น Hannah, dad, mom

C++ OOP การสร้าง Pointer Object ของ Class

จากบทความ C++ OOP การสร้าง Class และการใช้งาน Class ผมอธิบายถึงการสร้าง Object แบบ Stack แต่ในบทความนี้ผมจะอธิบายเรื่องการสร้าง Object โดยใช้ Pointer ข้อแตกต่างกันคือ การสร้าง Object แบบ Stack จะคล้ายๆกับเราสร้างตัวแปรขึ้นมาตัวนึงเมื่อใช้งานเสร็จหรือจบโปรแกรม ระบบจะคืน memory หรือทําลาย Object นั้นทิ้งให้โดยอัตโนมัติ แต่ถ้าสร้าง Object แบบ Pointer จะไม่ทําลาย Object ให้เราเมื่อจบโปรแกรม เราจะต้องเป็นคนทําลาย Object เอง ทําสั่งที่ใช้ ทําลาย Object คือ "delete" ตามด้วย Object ที่ต้องการลบ _ถ้าเราไม่ลบ Object ที่เราสร้างขึ้น ระบบจะไม่สามารถเข้าใช้งาน memory ในส่วนนั้นได้ ทําให้เกิด memory leak _

ปรับหน้าเว็บเป็นขาวดําด้วย css

ตามที่ทางสำนักพระราชวังได้มีประกาศ เรื่อง พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช เสด็จสวรรคตนั้น อันเป็นเรื่องที่น่าโศกเศร้าสำหรับคนไทย เพื่อเป็นการแสดงความอาลัยตามความเหมาะสม ข้าพเจ้าขอแนะนำวิธีปรับเปลี่ยนหน้าเว็บไซต์ให้อยู่ในรูปแบบขาวดํา ตามความเหมาะสมเพื่อเป็นการไว้ทุกข์


Copyright © 2019 - 2024 thiti.dev |  v1.41.0 |  Privacy policy | 

Build with ❤️ and Astro.

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