อะไรคือความแตกต่างระหว่าง FTPS และ SFTP?

เมื่อคุณอยู่ในกระบวนการตั้งค่าความสามารถในการถ่ายโอนไฟล์ระยะไกลสำหรับพนักงานของคุณคุณต้องการให้สิ่งต่างๆเรียบง่ายและปลอดภัยที่สุด ด้วยเหตุนี้ FTPS หรือ SFTP แบบไหนดีกว่ากัน โพสต์ SuperUser Q&A วันนี้มีคำตอบสำหรับคำถามของผู้อ่านที่อยากรู้อยากเห็น

เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นกลุ่มเว็บไซต์ถาม & ตอบที่ขับเคลื่อนโดยชุมชน

เอื้อเฟื้อภาพหน้าจอของ kojihachisu (Flickr)

คำถาม

ผู้อ่าน SuperUser user334875 ต้องการทราบว่า FTPS และ SFTP แตกต่างกันอย่างไรและอันไหนดีกว่า:

ฉันกำลังพยายามจัดระบบสำหรับพนักงานสี่คนที่ทำงานจากระยะไกลเพื่อให้พวกเขาสามารถถ่ายโอนไฟล์ ฉันยังต้องการให้มันปลอดภัย SFTP ดีกว่า FTPS หรือไม่ อะไรคือความแตกต่างระหว่างทั้งสอง?

อะไรคือความแตกต่างระหว่างสองอย่างและอันไหนดีกว่ากัน?

คำตอบ

ผู้สนับสนุน SuperUser NuTTyX และ Vdub มีคำตอบให้เรา ก่อนอื่น NuTTyX:

เป็นโปรโตคอลสองแบบที่แตกต่างกันอย่างสิ้นเชิง

FTPS คือ FTP พร้อม SSL เพื่อความปลอดภัย ใช้ช่องทางควบคุมและเปิดการเชื่อมต่อใหม่สำหรับการถ่ายโอนข้อมูล เนื่องจากใช้ SSL จึงต้องมีใบรับรอง

SFTP (SSH File Transfer Protocol / Secure File Transfer Protocol) ได้รับการออกแบบเป็นส่วนขยายของ SSH เพื่อให้สามารถถ่ายโอนไฟล์ได้ดังนั้นโดยปกติจะใช้เฉพาะพอร์ต SSH สำหรับทั้งข้อมูลและการควบคุม

ในการติดตั้งเซิร์ฟเวอร์ SSH ส่วนใหญ่คุณจะได้รับการสนับสนุน SFTP แต่ FTPS จะต้องมีการกำหนดค่าเพิ่มเติมของเซิร์ฟเวอร์ FTP ที่รองรับ

ตามด้วยคำตอบจาก Vdub:

FTPS (FTP / SSL) เป็นชื่อที่ใช้เพื่อระบุหลายวิธีที่ซอฟต์แวร์ FTP สามารถดำเนินการถ่ายโอนไฟล์ที่ปลอดภัย แต่ละวิธีเกี่ยวข้องกับการใช้เลเยอร์ SSL / TLS ที่อยู่ต่ำกว่าโปรโตคอล FTP มาตรฐานเพื่อเข้ารหัสช่องสัญญาณควบคุมและ / หรือข้อมูล

ข้อดี:

  • เป็นที่รู้จักและใช้กันอย่างแพร่หลาย
  • การสื่อสารสามารถอ่านและเข้าใจได้โดยมนุษย์
  • ให้บริการสำหรับการถ่ายโอนไฟล์จากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์
  • SSL / TLS มีกลไกการตรวจสอบสิทธิ์ที่ดี (คุณสมบัติใบรับรอง X.509)
  • รองรับ FTP และ SSL / TLS ในกรอบการสื่อสารทางอินเทอร์เน็ตจำนวนมาก

จุดด้อย:

  • ไม่มีรูปแบบรายการไดเรกทอรีที่เหมือนกัน
  • ต้องใช้ช่องข้อมูลสำรองซึ่งทำให้ยากที่จะใช้หลังไฟร์วอลล์
  • ไม่กำหนดมาตรฐานสำหรับชุดอักขระชื่อไฟล์ (การเข้ารหัส)
  • เซิร์ฟเวอร์ FTP บางตัวไม่รองรับ SSL / TLS
  • ไม่มีวิธีมาตรฐานในการรับและเปลี่ยนแอตทริบิวต์ของไฟล์หรือไดเร็กทอรี

SFTP (SSH File Transfer Protocol) เป็นโปรโตคอลเครือข่ายที่ให้การถ่ายโอนไฟล์และฟังก์ชันการจัดการผ่านสตรีมข้อมูลที่เชื่อถือได้ โดยทั่วไปจะใช้กับโปรโตคอล SSH-2 (พอร์ต TCP 22) เพื่อให้การถ่ายโอนไฟล์ที่ปลอดภัย แต่มีจุดมุ่งหมายเพื่อให้ใช้งานได้กับโปรโตคอลอื่น ๆ ด้วย

ข้อดี:

  • มีพื้นฐานมาตรฐานที่ดีซึ่งกำหนดลักษณะการปฏิบัติงานส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) อย่างเคร่งครัด
  • มีการเชื่อมต่อเพียงครั้งเดียว (ไม่จำเป็นต้องเชื่อมต่อข้อมูล)
  • การเชื่อมต่อมีความปลอดภัยเสมอ
  • รายชื่อไดเร็กทอรีเป็นแบบเดียวกันและสามารถอ่านได้ด้วยเครื่อง
  • โปรโตคอลประกอบด้วยการดำเนินการสำหรับการอนุญาตและการจัดการแอตทริบิวต์การล็อกไฟล์และฟังก์ชันอื่น ๆ

จุดด้อย:

  • การสื่อสารเป็นไบนารีและไม่สามารถบันทึก "ตามสภาพ" สำหรับการอ่านของมนุษย์
  • คีย์ SSH จัดการและตรวจสอบได้ยากกว่า
  • มาตรฐานกำหนดบางสิ่งเป็นทางเลือกหรือแนะนำซึ่งนำไปสู่ปัญหาความเข้ากันได้ระหว่างชื่อซอฟต์แวร์ที่แตกต่างกันจากผู้จำหน่ายที่แตกต่างกัน
  • ไม่มีการคัดลอกเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์และการลบไดเร็กทอรีแบบเรียกซ้ำ
  • ไม่มีการสนับสนุน SSH / SFTP ในตัวในเฟรมเวิร์ก VCL และ. NET

มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่