23 мая 2026Руководства
Как настроить SFTP для безопасной передачи файлов
Передача файлов по SFTP через OpenSSH: отдельные пользователи, изоляция каталога, подключение из FileZilla и WinSCP.

SFTP передаёт файлы по шифрованному SSH без отдельного FTP-демона. На Linux VPS SFTP встроен в OpenSSH — безопасная настройка на Hiddence.
SFTP с отдельным пользователем
Создайте пользователя только для загрузки файлов:
bash
sudo adduser sftpuser
sudo passwd sftpuser
# Тест:
sftp sftpuser@IP_ВАШЕГО_VPS
# FileZilla: протокол SFTP, порт 22Изоляция каталога (chroot), рекомендуется
Ограничьте пользователя одной папкой на сервере:
bash
sudo mkdir -p /var/sftp/sftpuser/upload
sudo chown root:root /var/sftp/sftpuser
sudo chmod 755 /var/sftp/sftpuser
sudo chown sftpuser:sftpuser /var/sftp/sftpuser/upload
sudo nano /etc/ssh/sshd_config
Match User sftpuser
ChrootDirectory /var/sftp/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshdПодключение с компьютера
Популярные клиенты поддерживают SFTP:
- FileZilla — хост sftp://IP, порт 22
- WinSCP — протокол SFTP
- macOS — Подключение к серверу: sftp://user@IP
- Linux: sftp user@IP или scp
- VS Code — Remote SSH
Безопасность
- SSH-ключи вместо паролей для SFTP
- Не давайте root по SFTP третьим лицам
- Отключите вход по паролю для root (PasswordAuthentication no)
- Для аккаунтов «только загрузка» используйте chroot, как в примере выше
- Поставьте Fail2ban на SSH
- По возможности разрешите порт 22 в брандмауэре только с ваших IP
Советы
- SFTP — не FTP, порт 21 не нужен
- Для WordPress удобнее выкладывать файлы по SSH или rsync
- Копирование через rsync по SSH быстрее для больших сайтов
- При ошибке загрузки проверьте права 755/644
- После правок sshd_config держите вторую SSH-сессию открытой