Wiki
Сеть

FTP / SFTP / FTPS — что это и в чём разница

FTP — старый файл-протокол (без шифрования). SFTP — файлы поверх SSH (порт 22). FTPS — FTP + TLS (порты 990/21+TLS). Используйте SFTP.

FTP (File Transfer Protocol, RFC 959, 1985) — классический протокол передачи файлов. Порты 21 (control) + 20 (data active mode) или ephemeral (passive mode). Никакого шифрования — логин, пароль и файлы летят в открытом виде. Не использовать в 2026.

SFTP (SSH File Transfer Protocol, не путать с FTPS) — файловая подсистема SSH. Порт 22 (тот же, что SSH). Полное шифрование, аутентификация SSH-ключом. Из коробки на любом Linux-сервере с sshd. Клиенты: WinSCP, Cyberduck, FileZilla, `sftp` CLI.

FTPS (FTP over TLS/SSL) — старый FTP с добавленным TLS-слоем. Два варианта: implicit (порт 990, TLS сразу) и explicit (порт 21, STARTTLS). Работает, но конфиг сложнее SFTP из-за data-порта. Реализация: vsftpd, ProFTPD.

Практика: (1) панели HestiaCP/ISPmanager по умолчанию дают SFTP (потому что это уже sshd), плюс опциональный FTPS через vsftpd. (2) для CI/CD deploy — SFTP/SCP через SSH-ключ. (3) FTP чистый — только для legacy-совместимости, всегда с обязательным жирным warning.

Частые вопросы

SFTP или FTPS?
SFTP — проще (один порт 22, тот же ключ, что SSH). FTPS — legacy-совместимо. 99 % случаев — SFTP.
rsync через SSH?
Ещё лучше для деплоя: incremental, resume, дедупликация. `rsync -avz app/ user@server:/var/www/`.

Смотрите также