Названия FTPS и SFTP отличаются одной буквой, и это часто становится причиной путаницы: кажется, что это один протокол с двумя написаниями. На деле это два независимых способа передачи файлов, построенных на разных технологиях шифрования, с разными портами и разной логикой подключения. Разница важна на практике — неправильный выбор протокола означает, что клиент просто не подключится к серверу. Для администратора эта разница означает конкретный практический выбор ещё на этапе настройки сервера, а не после жалобы пользователя на проблемы с подключением.
Чем принципиально отличаются FTPS и SFTP
FTPS — это классический протокол FTP, обёрнутый в шифрование TLS/SSL. Он использует ту же архитектуру из двух каналов — командного и канала передачи данных, — что и обычный FTP, только поверх шифрованного соединения. SFTP — это вообще не FTP, а часть протокола SSH: передача файлов идёт через тот же самый защищённый канал, что используется для входа по SSH, без отдельного канала данных и без привычных FTP-команд.
Поэтому SFTP-клиент не подключится к серверу FTPS, а FTPS-клиент не подключится к серверу SFTP — это два разных сетевых протокола, у которых общее только назначение.
Порты и подключение: где теряются чаще всего
Обычный FTP работает на порте 21 для команд и использует дополнительный порт для данных. FTPS в режиме explicit использует тот же порт 21, но повышает соединение до TLS по команде, а в режиме implicit — отдельный порт 990 с шифрованием сразу при подключении. SFTP работает через порт 22 — тот же порт, что обычный SSH, потому что технически это одна и та же служба.
ssh -p 22 user@example.com
sftp user@example.com
Если firewall на сервере блокирует входящие соединения, кроме порта 22, SFTP продолжит работать, а вот FTPS потребует дополнительно открыть порт 21 или 990 в зависимости от режима. Подробная настройка самого SFTP-сервера на базе vsftpd описана в статье «Настройка SFTP на vsftpd».
Сравнение FTPS и SFTP по ключевым параметрам
| Параметр | FTPS | SFTP |
|---|---|---|
| Базовый протокол | FTP + TLS/SSL | SSH (SSH File Transfer Protocol) |
| Порт по умолчанию | 21 (explicit) или 990 (implicit) | 22 |
| Число каналов соединения | Два — команды и данные | Один |
| Совместимость с firewall и NAT | Часто требует дополнительной настройки | Проще — один порт |
Если сервер уже настроен через привычную панель управления, посмотреть, какой протокол там включён по умолчанию, можно в статье «Настройка FTP в cPanel».
Когда выбирать FTPS, а когда SFTP
Выбор протокола редко зависит от личных предпочтений — чаще его диктует окружение, в котором уже работает инфраструктура:
- Если сервер уже управляется по SSH, логично использовать SFTP — отдельный сервис поднимать не нужно
- Если корпоративный клиент требует именно FTP-совместимый протокол с шифрованием, подходит FTPS
- Если файлы нужно не просто передать, а синхронизировать между серверами, стоит сравнить оба варианта со связкой rsync поверх SSH
Такое сравнение инструментов синхронизации подробно разобрано в статье «Миграция файлов: rsync и scp».
Что делать: как проверить, какой протокол нужен именно сейчас
Чтобы не гадать, какой протокол настраивать, стоит пройти короткую проверку перед установкой сервера.
- Проверить, открыт ли на сервере порт 22 и работает ли служба SSH — если да, SFTP добавляется почти без усилий
- Уточнить у клиента или приложения, какой протокол они умеют вызывать — часть старых FTP-клиентов не поддерживает SFTP вовсе
- Проверить политику firewall: сколько портов разрешено открывать дополнительно
- Настроить выбранный протокол и протестировать подключение с внешнего адреса, а не только изнутри сети
- Закрыть неиспользуемый протокол, чтобы не оставлять на сервере лишнюю открытую службу
Частые вопросы
Является ли FTPS тем же самым, что SFTP?
Нет, несмотря на похожие названия, это разные протоколы с разной архитектурой. FTPS — это FTP поверх TLS/SSL с двумя каналами соединения, а SFTP — часть протокола SSH с одним защищённым каналом. Клиенты и серверы этих протоколов между собой не совместимы.
Зачем вообще нужны FTP-серверы, если есть SFTP?
FTP и его защищённый вариант FTPS остаются востребованы там, где уже исторически настроена инфраструктура вокруг этого протокола, либо клиентское программное обеспечение умеет работать только с ним. Для новых проектов чаще выбирают SFTP из-за простоты настройки и единственного порта.
Можно ли настроить оба протокола на одном сервере одновременно?
Да, FTPS и SFTP используют разные службы и разные порты, поэтому технически они не конфликтуют друг с другом и могут работать параллельно на одном сервере.