В чем разница между 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 / протокол безопасной передачи файлов) был разработан как расширение 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) для обеспечения безопасной передачи файлов, но также предназначен для использования с другими протоколами.

Плюсы:

  • Обладает хорошими стандартами, которые строго определяют большинство (если не все) аспекты деятельности.
  • Имеет только одно соединение (соединение DATA не требуется)
  • Соединение всегда защищено
  • Список каталогов единообразен и машиночитаем.
  • Протокол включает операции для управления разрешениями и атрибутами, блокировку файлов и другие функции.

Минусы:

  • Обмен данными является двоичным и не может быть зарегистрирован «как есть» для чтения человеком.
  • Ключи SSH сложнее управлять и проверять
  • Стандарты определяют некоторые вещи как необязательные или рекомендуемые, что приводит к определенным проблемам совместимости между разными названиями программного обеспечения от разных поставщиков.
  • Отсутствие межсерверного копирования и рекурсивного удаления каталогов
  • Нет встроенной поддержки SSH / SFTP в платформах VCL и .NET.

Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.