อะไรคือความแตกต่างระหว่าง 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 ที่เชี่ยวชาญด้านเทคโนโลยีอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่