SFTP — что это, отличия от FTP, настройка и команды | Глоссарий FREEHOSTING

SFTP

SSH File Transfer Protocol
SFTP — SFTP — протокол передачи файлов поверх SSH. Шифрует данные и команды в одном защищённом канале на 22-м порту, не требует отдельной настройки FTP-сервера. Поддерживается всеми Linux-серверами «из коробки» и большинством хостинг-панелей.

Определение простыми словами

SFTP (SSH File Transfer Protocol) — расширение протокола SSH для работы с файлами. В отличие от классического FTP, который ходит по двум соединениям (управляющему и данным) и передаёт пароли в открытом виде, SFTP работает в одном зашифрованном канале и использует те же ключи и пароли, что и SSH.

Никаких отдельных демонов запускать не нужно: если на VPS работает sshd, то SFTP уже доступен. На виртуальном хостинге сайтов SFTP заменил небезопасный FTP практически у всех серьёзных провайдеров.

Сравнение

Параметр SFTP FTP FTPS
Шифрование SSH (AES-256) нет TLS
Порт 22 21 + динамический 21, 990
NAT/файрвол работает легко сложно (PASV) сложно
Аутентификация пароль + ключ SSH пароль пароль + сертификат

Кейсы использования

  • Загрузка файлов сайта на сервер из IDE (PhpStorm, VS Code) с автосинхронизацией.
  • Передача бэкапов между серверами по cron-скрипту с авторизацией по ключу.
  • Доступ для подрядчиков с ограничением только на каталог сайта через ChrootDirectory.
  • Альтернатива S3 для команд, которые привыкли к иерархии папок.
  • Негативный сценарий: публичная отдача файлов посетителям сайта — для этого нужен HTTPS-сервер, не SFTP.

Технические детали

Базовые команды клиента sftp и ограничение пользователя своим каталогом:

sftp -i ~/.ssh/id_ed25519 user@host
put -r ./build /var/www/site
get /var/log/nginx/access.log
bye
sudo groupadd sftponly
sudo useradd -g sftponly -s /sbin/nologin -d /var/www/site clientuser
sudo passwd clientuser

В /etc/ssh/sshd_config добавьте блок Match Group sftponly с ChrootDirectory %h, ForceCommand internal-sftp и AllowTcpForwarding no — пользователь не сможет выйти за пределы своей домашней директории.

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

Чем SFTP отличается от FTPS?

SFTP работает поверх SSH в одном порту (22), FTPS — это классический FTP с TLS-шифрованием на портах 21/990 и двумя соединениями. SFTP проще проходит файрволы и не требует отдельной настройки сертификатов.

Можно ли подключиться через SFTP к виртуальному хостингу?

Да, у большинства провайдеров SFTP доступен по тем же логину и паролю, что и хостинг-панель. Используйте FileZilla, WinSCP, Cyberduck или встроенные средства IDE.

SFTP и SCP — это одно и то же?

Нет. SCP — простой протокол копирования по SSH, без интерактивного режима и операций над файлами. SFTP полноценный: list, rename, delete, chmod, докачка прерванных передач.