Apakah Perbezaan Antara FTPS dan SFTP?

Ketika anda sedang dalam proses menyiapkan keupayaan pemindahan fail jauh untuk pekerja anda, anda ingin semuanya menjadi sesederhana dan selamat. Dengan itu, mana yang lebih baik, FTPS atau SFTP? Siaran Soal Jawab SuperUser hari ini mempunyai jawapan untuk soalan pembaca yang ingin tahu.

Sesi Pertanyaan & Jawapan hari ini diberikan oleh SuperUser — subdivisi Stack Exchange, kumpulan laman web Soal Jawab yang didorong oleh komuniti.

Tangkapan skrin milik kojihachisu (Flickr).

Soalan

Pengguna pembaca SuperUser334875 ingin mengetahui apa perbezaan antara FTPS dan SFTP, dan mana yang lebih baik:

Saya cuba menyediakan sistem untuk empat pekerja saya yang bekerja dari jarak jauh supaya mereka dapat memindahkan fail. Saya juga memerlukannya agar selamat. Adakah SFTP lebih baik daripada FTPS? Apakah perbezaan antara keduanya?

Apakah perbezaan antara keduanya dan mana yang lebih baik?

Jawapan

Penyumbang SuperUser NuTTyX dan Vdub mempunyai jawapan untuk kami. Pertama, NuTTyX:

Mereka adalah dua protokol yang sama sekali berbeza.

FTPS adalah FTP dengan SSL untuk keselamatan. Ia menggunakan saluran kawalan dan membuka sambungan baru untuk pemindahan data. Kerana menggunakan SSL, ia memerlukan sijil.

SFTP (Protokol Pemindahan Fail SSH / Protokol Pemindahan Fail Selamat) dirancang sebagai peluasan SSH untuk menyediakan kemampuan pemindahan fail, jadi biasanya hanya menggunakan port SSH untuk data dan kontrol.

Di kebanyakan pemasangan pelayan SSH, anda akan mendapat sokongan SFTP, tetapi FTPS memerlukan konfigurasi tambahan pelayan FTP yang disokong.

Diikuti dengan jawapan dari Vdub:

FTPS (FTP / SSL) adalah nama yang digunakan untuk memberikan sejumlah cara agar perisian FTP dapat melakukan pemindahan fail yang selamat. Setiap cara melibatkan penggunaan lapisan SSL / TLS di bawah protokol FTP standard untuk mengenkripsi saluran kawalan dan / atau data.

Kelebihan:

  • Dikenali dan digunakan secara meluas
  • Komunikasi tersebut dapat dibaca dan difahami oleh manusia
  • Menyediakan perkhidmatan untuk pemindahan fail pelayan ke pelayan
  • SSL / TLS mempunyai mekanisme pengesahan yang baik (ciri sijil X.509)
  • Sokongan FTP dan SSL / TLS terdapat dalam banyak kerangka komunikasi internet

Keburukan:

  • Tidak mempunyai format penyenaraian direktori yang seragam
  • Memerlukan saluran DATA sekunder, yang menjadikannya sukar digunakan di belakang firewall
  • Tidak menentukan standard untuk set watak nama fail (pengekodan)
  • Tidak semua pelayan FTP menyokong SSL / TLS
  • Tidak mempunyai cara standard untuk mendapatkan dan mengubah atribut fail atau direktori

SFTP (SSH File Transfer Protocol) adalah protokol rangkaian yang menyediakan fungsi pemindahan fail dan manipulasi melalui aliran data yang boleh dipercayai. Biasanya digunakan dengan protokol SSH-2 (port TCP 22) untuk menyediakan pemindahan fail yang selamat, tetapi dimaksudkan untuk dapat digunakan dengan protokol lain juga.

Kelebihan:

  • Mempunyai latar belakang piawaian yang baik yang secara tegas menentukan kebanyakan aspek operasi (jika tidak semua)
  • Hanya mempunyai satu sambungan (tidak memerlukan sambungan DATA)
  • Sambungan sentiasa terjamin
  • Senarai direktori adalah seragam dan mudah dibaca oleh mesin
  • Protokol ini merangkumi operasi untuk kebenaran dan manipulasi atribut, penguncian fail, dan banyak lagi fungsi

Keburukan:

  • Komunikasi itu bersifat binari dan tidak dapat dicatat "sebagaimana adanya" untuk bacaan manusia
  • Kekunci SSH lebih sukar untuk diuruskan dan disahkan
  • Piawaian menentukan perkara tertentu sebagai pilihan atau disyorkan, yang membawa kepada masalah keserasian tertentu antara tajuk perisian yang berbeza dari vendor yang berbeza.
  • Tidak ada operasi penyingkiran pelayan ke pelayan dan penyingkiran direktori rekursif
  • Tidak ada sokongan SSH / SFTP terbina dalam VCL dan .NET

Ada yang perlu ditambah dengan penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan daripada pengguna Stack Exchange yang mahir berteknologi lain? Lihat utas perbincangan lengkap di sini.