Коли ви налаштовуєте можливості віддаленої передачі файлів для своїх співробітників, ви хочете, щоб речі були максимально простими та безпечними. Маючи це на увазі, що краще - FTPS чи SFTP? Сьогоднішня публікація запитань SuperUser містить відповіді на цікаве запитання читача.
Сьогоднішня сесія запитань і відповідей надійшла до нас люб’язно від SuperUser - підрозділу Stack Exchange, угруповання веб-сайтів із питань та відповідей на основі спільноти.
Знімок екрану надано Коджі Хатісу (Fickr) .
Питання
Користувач читача SuperUser334875 хоче знати, в чому різниця між FTPS і SFTP, і який з них кращий:
Я намагаюся створити систему для чотирьох своїх співробітників, які працюють віддалено, щоб вони могли передавати файли. Мені це також потрібно для захисту. Чи є SFTP кращим за FTPS? Яка різниця між ними?
У чому різниця між двома та яким кращим?
Відповідь
Учасники SuperUser NuTTyX та Vdub мають відповідь за нас. Спочатку NuTTyX:
Це два абсолютно різних протоколи.
FTPS - це FTP із SSL для безпеки. Він використовує канал управління та відкриває нові з'єднання для передачі даних. Оскільки він використовує SSL, йому потрібен сертифікат.
SFTP (SSH File Transfer Protocol / Secure File Transfer Protocol) був розроблений як розширення 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 File Transfer Protocol) - це мережевий протокол, який забезпечує передачу файлів та функціональність маніпуляцій через будь-який надійний потік даних. Зазвичай він використовується з протоколом SSH-2 (порт TCP 22) для забезпечення безпечної передачі файлів, але також призначений для використання з іншими протоколами.
Плюси:
- Має хороший стандарт стандартів, який чітко визначає більшість (якщо не всі) аспекти операцій
- Має лише одне підключення (не потрібно підключення DATA)
- Зв'язок завжди забезпечений
- Список каталогів є уніфікованим та машиночитаним
- Протокол включає операції з управління дозволами та атрибутами, блокування файлів та інші функції
Мінуси:
- Зв'язок є двійковим і не може бути записаний "як є" для читання людиною
- SSH-ключами важче керувати та перевіряти
- Стандарти визначають певні речі як необов’язкові чи рекомендовані, що призводить до певних проблем сумісності між різними назвами програм від різних постачальників.
- Немає копіювання між серверами та рекурсивного видалення каталогів
- Немає вбудованої підтримки SSH / SFTP у платформах VCL та .NET
Є що додати до пояснення? Звук у коментарях. Хочете прочитати більше відповідей від інших досвідчених користувачів Stack Exchange? Ознайомтесь із повним обговоренням тут .