ฉันอยากรู้ว่าอะไรคือความแตกต่างระหว่างโปรโตคอลต่อไปนี้: FTPS, SFTP และ SCP ตัวอย่างเช่น Unix มีเครื่องมือ scp, FileZilla เสนอ FTP และ SFTP, ในขณะที่ JetBrains PhpStorm มีโปรโตคอล SFTP และ FTPS ที่แตกต่างกัน
ขอขอบคุณสำหรับการชี้แจง.
ฉันอยากรู้ว่าอะไรคือความแตกต่างระหว่างโปรโตคอลต่อไปนี้: FTPS, SFTP และ SCP ตัวอย่างเช่น Unix มีเครื่องมือ scp, FileZilla เสนอ FTP และ SFTP, ในขณะที่ JetBrains PhpStorm มีโปรโตคอล SFTP และ FTPS ที่แตกต่างกัน
ขอขอบคุณสำหรับการชี้แจง.
คำตอบ:
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
ฉันหวังว่าจะช่วยชี้แจง
before the user credentials are sent over the connection
แล้วนี่คือการรวบรวมที่ดี FTP / FTPS / FTPES: cerberusftp.com/support/help/ ftp-support
SCP เป็นเครื่องมือถ่ายโอนไฟล์จาก SSH มันต้องใช้ SSH ทั้งลูกค้าและเซิร์ฟเวอร์ มันไม่ได้เป็นแบบโต้ตอบ
SFTP เป็นเครื่องมือการถ่ายโอนไฟล์อื่นที่สามารถใช้กับ SSH (ดังนั้นอีกครั้งอาจต้องใช้ SSH ทั้งบนไคลเอนต์และเซิร์ฟเวอร์) หรือกับเครื่องมือการเชื่อมต่อที่ปลอดภัยอื่น ๆ ที่เข้ากันได้เนื่องจากมันมีวัตถุประสงค์เพื่อเป็นอิสระจาก SSH มันมีการโต้ตอบเหมือน FTP ธรรมดาทั่วไป โปรดทราบว่าไม่ใช่ FTP ผ่าน SSH แต่เป็นโปรโตคอลใหม่
FTPS เป็น FTP เก่าธรรมดาผ่าน SSL
SCP bee ใช้เครื่องมือ ssh ช่วยให้การดำเนินการคัดลอก / ย้ายฝั่งเซิร์ฟเวอร์ในขณะที่ sftp ต้องการปริมาณข้อมูลที่ไหลเวียนผ่านไคลเอนต์ในงานดังกล่าว ในทางกลับกันการดำเนินการ SFTP สามารถหยุดชั่วคราวและดำเนินการต่อ