Что лучше? SFTP или FTPS

2899
Jegschemesch

Я слышал из некоторых источников, что SFTP предпочтительнее FTPS. Если это так, мне интересно, почему именно.

5
Такой вопрос лучше подходит для Serverfault. Josh Hunt 14 лет назад 0
«Как круто было бы видеть вопрос получить пинг-понг SF-> SO-> SU-> MSO-> SF-> SU-> SF-> SU-> SF-> MSO-> Closed - Lucas McCoy» Josh Hunt 14 лет назад 2
@joshhunt Вопрос сделал homerun, но не один сделал вихрь. random 14 лет назад 0

5 ответов на вопрос

7
Josh Hunt

Я предпочитаю SFTP, а не FTPS, в основном потому, что для настройки FTP-сервера на сервере требуются дополнительные усилия. Скорее всего, на сервере уже будет установлен SSH для удаленного администрирования, так почему бы просто не воспользоваться преимуществами того, что уже установлено? Использование SFTP не требует дополнительных усилий для его запуска.

Большинство FTP-клиентов имеют встроенную поддержку SFTP, поэтому поддержка клиентов является главным вопросом.

5
FjodrSo

There is a pretty explanatory article on the SSH-SFTP blog that details the differences between SFTP and FTPS, and gives an overview of the scenarios each one of them is more suited for.

According to the above mentioned article, each protocol has "pros" and "cons", so depending on each specific scenario, one protocol may be more effective that the other one.

Here below I will recap the points that - in my humble opinion - are the most important:

SFTP is always secure, FTPS may be not: SFTP is a subsystem of the SSH protocol, and therefore it always runs in an encrypted/secured channel; FTPS instead may feature a plain (unencrypted) FTP fallback strategy, in case the server does not support SSL/TLS.

FTPS can be faster than SFTP: in the exact same network conditions, FTPS could be probably faster than SFTP, as it runs the control channel and the data channel seperately (while SFTP runs in a single channel and interleaves the control packets within the data flow)

SFTP is firewall-friendly, while FTP(S) is not: SFTP runs inside SSH thus it uses only one port on the server (default: 22); FTP(S) instead requires either the possibility for the server to connect back to the client (active) or a wide number of open ports on your firewall for the server to accept incoming data connections (passive).

FTPS can delegate trust, SFTP can not: FTP(S) leverages the SSL/TLS intrinsic security based upon X.509 certificates that can be issued by a Certification Authority trusted by both parties, while SSH Server Keys can only be issues by the server part and must be trusted by the client part.

Можете ли вы дать более подробное описание связанного контента и объяснить, как он связан с вопросом? Это поможет гарантировать, что этот ответ останется полезным в случае, если ссылка станет недействительной. bwDraco 9 лет назад 0
Конечно. Я собираюсь редактировать ответ сейчас ... FjodrSo 9 лет назад 0
3
jergason

На этой странице CodeGuru есть краткое изложение плюсов и минусов каждого:

Как обычно, ответ зависит от ваших целей и требований. В целом, SFTP технологически превосходит FTPS. Конечно, было бы неплохо реализовать поддержку обоих протоколов, но они разные по понятиям, по поддерживаемым командам и по многим другим причинам.

Рекомендуется использовать FTPS, если у вас есть сервер, к которому необходимо получить доступ с персональных устройств (смартфонов, КПК и т. П.) Или из некоторых конкретных операционных систем, которые поддерживают FTP, но не имеют клиентов SSH / SFTP. Если вы создаете собственное решение для безопасности, SFTP, вероятно, является лучшим вариантом.

Что касается клиентской стороны, требования определяются серверами, к которым вы планируете подключаться. При подключении к интернет-серверам SFTP более популярен, поскольку по умолчанию поддерживается серверами Linux и UNIX.

Для частной передачи между хостами вы можете использовать как SFTP, так и FTPS. Для FTPS вам нужно будет найти бесплатное клиентское и серверное программное обеспечение FTPS или приобрести коммерческую лицензию. Для поддержки SFTP вы можете установить пакет OpenSSH, который предоставляет бесплатное клиентское и серверное программное обеспечение.

3
Arjan

SFTP не имеет проблем с отображением портов, и, следовательно, не имеет проблем с маршрутизатором / межсетевым экраном NAT . (И многие домашние DSL и кабельные модемы фактически являются маршрутизаторами NAT, и при подключении автономной точки беспроводного доступа может даже появиться «двойной NAT».)

В FTP, и, следовательно, в FTPS, требуется несколько соединений . Клиент и сервер договариваются об IP-адресе и портах, которые будут использоваться в рамках так называемой связи на уровне приложения. Но маршрутизатор NAT или межсетевой экран (который скорее всего заботится только о проблемах «транспортного уровня») должен знать об этих деталях и, следовательно, должен проверять фактические данные. Это поднимает много проблем, которых не существует для SFTP.

0
Andrew Keith

Я не думаю, что одно предпочтительнее другого. Это действительно зависит от вашей инфраструктуры. В этой теме от CodeGuru обсуждаются плюсы и минусы SFTP и FTPS.

Одним из преимуществ FTPS является канал данных. Канал данных может быть перенаправлен для передачи файлов с сервера на сервер. Эта особенность не совсем понятна. Вот почему многие люди говорят, что канал данных FTP не нужен.

Я считаю, что если вы просто заинтересованы в безопасной отправке файлов, вам следует использовать FTPS. Если у вас уже есть инфраструктура SSH, тогда может пригодиться SFTP.

Похожие вопросы