У чому різниця між FTPS і SFTP?
Коли ви перебуваєте в процесі створення віддалених можливостей передачі файлів для ваших співробітників, ви хочете, щоб речі були максимально простими і безпечними. Майте це на увазі, що краще, FTPS або SFTP? Сьогоднішня посада SuperUser Q&A має відповіді на запитання цікавого читача.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Знімок екрану люб'язно автор: (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 вбудована в безліч мереж інтернет-комунікацій
Мінуси:
- Не має уніфікованого формату списку каталогів
- Потрібен вторинний канал DATA, що ускладнює використання за брандмауерами
- Не визначає стандарт для наборів символів імен файлів (кодування)
- Не всі FTP-сервери підтримують SSL / TLS
- Не має стандартного способу отримання та зміни атрибутів файлів або каталогів
SFTP (протокол передачі файлів SSH) є мережевим протоколом, який забезпечує функцію передачі файлів і маніпуляцій над будь-яким надійним потоком даних. Зазвичай використовується з протоколом SSH-2 (TCP-порт 22) для забезпечення безпечної передачі файлів, але призначений також для використання з іншими протоколами..
Плюси:
- Має гарний стандарт, який суворо визначає більшість (якщо не всі) аспекти операцій
- Має лише одне підключення (немає необхідності підключення DATA)
- З'єднання завжди забезпечено
- Список каталогу є однорідним і машиночитаним
- Протокол включає в себе операції для дозволу та маніпуляції атрибутами, блокування файлів і більшу функціональність
Мінуси:
- Зв'язок є двійковою і не може бути записана як «як є» для людського читання
- Ключі SSH важче керувати та перевіряти
- Стандарти визначають певні речі як факультативні або рекомендовані, що призводить до певних проблем сумісності між різними видами програмного забезпечення від різних постачальників.
- Відсутність операцій видалення копій і рекурсивних каталогів від сервера до сервера
- Немає вбудованої підтримки SSH / SFTP у рамках VCL і .NET
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.