FTPS กับ SFTP เมื่อเทียบกับ SCP


44

ฉันอยากรู้ว่าอะไรคือความแตกต่างระหว่างโปรโตคอลต่อไปนี้: FTPS, SFTP และ SCP ตัวอย่างเช่น Unix มีเครื่องมือ scp, FileZilla เสนอ FTP และ SFTP, ในขณะที่ JetBrains PhpStorm มีโปรโตคอล SFTP และ FTPS ที่แตกต่างกัน

ขอขอบคุณสำหรับการชี้แจง.


คำตอบ:


45

FTPS เป็นFTP ที่ใช้โปรโตคอล SSL / TLSสำหรับการเข้ารหัส สิ่งนี้แตกต่างจากโปรโตคอลของตระกูล SCP / SFTP ที่ใช้ SSH เป็นอุโมงค์ขนส่ง

โดยปกติแล้วคุณจะใช้โปรแกรมไคลเอนต์เช่นWinSCPสำหรับSCPและSFTP (SFTP เป็นรุ่นอัพเกรดของ SCP) ในขณะที่คุณมักจะใช้เว็บเบราว์เซอร์หรือตัวจัดการดาวน์โหลดบนเว็บ (เช่นFilezilla ) สำหรับ FTPS

FTPS เป็นแบบเว็บโดยใช้ไวยากรณ์คำสั่งข้อความและซีแมนทิกส์ในขณะที่ SFTP ใช้โปรโตคอลความปลอดภัยเชลล์ทั่วไปบนระบบ * NIX

บทความนี้อธิบายความแตกต่างอย่างดี: http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329/FTPS-vs-SFTP-What-to-Choose.htm


แก้ไข: เพื่ออธิบายตามที่ร้องขอ:

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

เบราว์เซอร์ส่วนใหญ่ต้องการปลั๊กอินภายนอกเพื่อใช้ FTPS ส่วนหนึ่งเป็นเพราะมันไม่ได้เป็นโปรโตคอลที่ใช้กันทั่วไปอีกต่อไป เมื่อเป็นที่นิยมเว็บเบราว์เซอร์เกือบจะเป็น HTTP เท่านั้นและทุกคนก็ใช้ไคลเอนต์ FTP แยกต่างหาก ในขณะที่ FTP / FTPS เข้าท่าที่สุด HTTP ไม่สามารถจัดการกับการดาวน์โหลดไฟล์ได้ดี มันไม่ได้จนกว่าHTTP \ 1.1ถูกเผยแพร่ในปี 1997 (และอัปเดตในปี 1999) ที่ HTTP สามารถจัดการกับสตรีมไบนารีอย่างเหมาะสม

เป็นที่น่าสังเกตว่าHTTPและFTPใช้ซีแมนทิกส์และไวยากรณ์เกือบจะเหมือนกันและใช้รหัสส่งคืนที่รู้จักกันดี(200, 301, 403, 404, 500, ฯลฯ ) FTP ค่อนข้างเก่า (HTTP เป็นมาตรฐานในปี 1989หลังจาก TCP \ IP โดดเด่น) ความคล้ายคลึงกันที่สำคัญระหว่างสองโปรโตคอลบ่งบอกถึงเชื้อสายที่ใช้ร่วมกันหรืออย่างน้อยชุดของอนุสัญญาที่ใช้ร่วมกัน ฉันคิดว่ามันมีเหตุผลเพียงพอที่จะเรียก FTP "Web-Based" ควบคู่ไปกับโพรโทคอลเลเยอร์แอปพลิเคชันหลักอื่น ๆ เช่น HTTP, SMTPและDNS (แม้ว่า DNS จะใช้รูปแบบไบนารีไม่ใช่ข้อความเช่น HTTP / FTP / SMTP)

ตระกูล SSH เป็นชุดของโปรโตคอลที่เน้นการดูแลเซิร์ฟเวอร์และการเข้าถึงความสามารถในการประมวลผลเซิร์ฟเวอร์จากระยะไกลมากกว่าการกระจายเนื้อหาอย่างง่าย อนุญาตให้ผู้ใช้ที่มีสิทธิพิเศษของระบบเชื่อมต่อกับเชลล์เพื่อทำงานบนเซิร์ฟเวอร์เอง SCP และ SFTP ได้รับการพัฒนาเพื่อรองรับงานการจัดการไฟล์จำนวนมากที่เกี่ยวข้องกับงานนั้น ลองนึกภาพคุณจำเป็นต้องติดตั้งการอัปเดตอินสแตนซ์ Apache ของคุณบนเซิร์ฟเวอร์ระยะไกล คุณใช้, ใช้ scp \ sftp เพื่ออัพโหลดแพ็คเกจอัพเดท, จากนั้นทำการติดตั้ง. ค่อนข้างกระบวนการทำงานที่แตกต่างกว่าที่คุณสามารถทำได้ด้วย FTPS

ฉันหวังว่าจะช่วยชี้แจง


2
ประโยคที่สองและครึ่งแรกในคำตอบของคุณนั้นดี แต่คุณช่วยแสดงให้ฉันเห็นเบราว์เซอร์ที่สนับสนุน FTPS (ไม่ใช้ปลั๊กอิน) ได้หรือไม่? คุณหมายถึงอะไรโดยข้อความ " FTPS is web based "? มันมีอะไรที่เหมือนกันกับเว็บ ? ในทางทฤษฎีมันสามารถใช้เป็น "การถ่ายโอน" โปรโตคอลนอกเหนือจาก HTTP / HTTPS ทั่วไป แต่คุณสามารถค้นหาโปรโตคอลจำนวนมากซึ่งสามารถใช้สำหรับวัตถุประสงค์นี้
pabouk

ฉันหายไป FTPES พูดถึงที่นี่ ... FTPS ใช้การเข้ารหัสโดยปริยาย - จากจุดเริ่มต้นในขณะที่ FTPES เริ่มต้นการเข้ารหัสเล็กน้อยในภายหลัง - โดยปกติbefore the user credentials are sent over the connectionแล้วนี่คือการรวบรวมที่ดี FTP / FTPS / FTPES: cerberusftp.com/support/help/ ftp-support
jave.web

18

SCP เป็นเครื่องมือถ่ายโอนไฟล์จาก SSH มันต้องใช้ SSH ทั้งลูกค้าและเซิร์ฟเวอร์ มันไม่ได้เป็นแบบโต้ตอบ

SFTP เป็นเครื่องมือการถ่ายโอนไฟล์อื่นที่สามารถใช้กับ SSH (ดังนั้นอีกครั้งอาจต้องใช้ SSH ทั้งบนไคลเอนต์และเซิร์ฟเวอร์) หรือกับเครื่องมือการเชื่อมต่อที่ปลอดภัยอื่น ๆ ที่เข้ากันได้เนื่องจากมันมีวัตถุประสงค์เพื่อเป็นอิสระจาก SSH มันมีการโต้ตอบเหมือน FTP ธรรมดาทั่วไป โปรดทราบว่าไม่ใช่ FTP ผ่าน SSH แต่เป็นโปรโตคอลใหม่

FTPS เป็น FTP เก่าธรรมดาผ่าน SSL


1

SCP bee ใช้เครื่องมือ ssh ช่วยให้การดำเนินการคัดลอก / ย้ายฝั่งเซิร์ฟเวอร์ในขณะที่ sftp ต้องการปริมาณข้อมูลที่ไหลเวียนผ่านไคลเอนต์ในงานดังกล่าว ในทางกลับกันการดำเนินการ SFTP สามารถหยุดชั่วคราวและดำเนินการต่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.