System Track
Network
Common Protocols
FTP / SFTP
เข้าใจการส่งไฟล์ผ่านเครือข่ายแบบมือใหม่: FTP กับ SFTP ต่างกันตรงไหน, พอร์ตที่ใช้, และเลือกใช้งานแบบใดในงานจริง
1. Core Idea: FTP และ SFTP คืออะไร
FTP (File Transfer Protocol) และ SFTP (SSH File Transfer Protocol) ใช้สำหรับอัปโหลดและดาวน์โหลดไฟล์ผ่านเครือข่าย ความต่างสำคัญคือ SFTP ทำงานบนช่องทางที่เข้ารหัสผ่าน SSH ทำให้ปลอดภัยกว่า FTP อย่างชัดเจน
- FTP พอร์ตยอดนิยมคือ 21
- SFTP พอร์ตยอดนิยมคือ 22
- FTP มักไม่เข้ารหัสข้อมูลโดยค่าเริ่มต้น
- SFTP เข้ารหัสทั้งข้อมูลและข้อมูลล็อกอิน
2. Mental Model: ฝากของเปิดกล่อง vs ฝากของใส่ตู้เซฟ
FTP เหมือนส่งกล่องที่คนกลางเปิดอ่านรายการของได้ SFTP เหมือนส่งของเข้าไปในตู้เซฟที่ล็อกก่อนส่ง ทำให้คนกลางเห็นเพียงว่ามีการส่งของ แต่ไม่รู้ข้อมูลภายใน
SFTP เหมาะกับงานจริงที่ต้องส่งไฟล์สำคัญผ่านอินเทอร์เน็ต
3. Protocol Breakdown: ตารางสรุป FTP vs SFTP
| หัวข้อ | FTP | SFTP |
|---|---|---|
| โปรโตคอลฐาน | FTP เดิม | ทำงานผ่าน SSH |
| ความปลอดภัย | ต่ำกว่า | สูงกว่าเพราะเข้ารหัส |
| พอร์ต | 21 | 22 |
| การยืนยันตัวตน | Username/Password แบบทั่วไป | Password หรือ SSH Key |
| งานที่เหมาะ | ระบบเก่าภายในองค์กรบางกรณี | อัปโหลดไฟล์ production หรือไฟล์สำคัญ |
4. Worked Example: ทีม Dev อัปโหลดไฟล์ขึ้นเซิร์ฟเวอร์
- 1) ทีมเตรียมไฟล์ build จากเครื่องนักพัฒนา
- 2) เชื่อมต่อไปยังเซิร์ฟเวอร์ปลายทาง
- 3) หากใช้ FTP ข้อมูลอาจถูกดักได้ง่ายกว่า
- 4) หากใช้ SFTP ข้อมูลไฟล์และ credential ถูกเข้ารหัส
- 5) ทีมตรวจสอบไฟล์ปลายทางและ deploy ต่อได้อย่างมั่นใจขึ้น
ตัวอย่างคำสั่ง SFTP แบบง่ายbash
sftp deploy@your-server
put dist/app.tar.gz
bye5. Practical Notes: จุดสับสนของมือใหม่
- SFTP คนละอย่างกับ FTPS (FTP over TLS) แม้ชื่อคล้ายกัน
- งาน production ควรหลีกเลี่ยง FTP ถ้าไม่มีข้อจำเป็นจากระบบเก่า
- การใช้ SSH Key มักปลอดภัยและสะดวกกว่า password อย่างเดียว
- กำหนดสิทธิ์โฟลเดอร์ให้พอดี เพื่อลดความเสียหายจากการอัปโหลดผิดที่
6. Recap + เชื่อมบทถัดไป
- FTP และ SFTP ใช้โอนไฟล์เหมือนกัน แต่ความปลอดภัยต่างกันมาก
- SFTP ทำงานผ่าน SSH จึงเหมาะกับอินเทอร์เน็ตสมัยใหม่
- เลือกใช้ SFTP เป็นค่ามาตรฐานเมื่อส่งไฟล์สำคัญ
- บทถัดไปจะเจาะ SSH ให้เห็นภาพการ remote แบบปลอดภัย