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.