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

SFTP передає файли по шифрованому SSH без окремого FTP-демона. На Linux VPS SFTP вбудований у OpenSSH — безпечне налаштування на Hiddence.
SFTP з окремим користувачем
Створіть користувача лише для завантаження файлів:
bash
sudo adduser sftpuser
sudo passwd sftpuser
# Test SFTP from client:
sftp sftpuser@YOUR_VPS_IP
# Or use FileZilla: Protocol SFTP, port 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
# Add at end:
Match User sftpuser
ChrootDirectory /var/sftp/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshdПідключення з комп’ютера
Популярні клієнти підтримують SFTP:
- FileZilla — Host: sftp://YOUR_VPS_IP, Port: 22, Logon Type: Normal
- WinSCP — Protocol: SFTP
- macOS Finder — Connect to Server: sftp://user@IP
- Linux: sftp user@IP or scp file user@IP:/path/
- VS Code — Remote SSH extension for direct editing
Безпека
- SSH-ключі замість паролів для SFTP
- Не надавайте root по SFTP третім особам
- Вимкніть вхід по паролю для root у sshd_config
- Для облікових записів «лише завантаження» використовуйте chroot, як у прикладі
- Встановіть Fail2ban на SSH
- За можливості дозвольте порт 22 у брандмауері лише з ваших IP
Поради
- SFTP — не FTP, порт 21 не потрібен
- Для WordPress зручніше викладати файли по SSH або rsync
- Копіювання через rsync по SSH швидше для великих сайтів
- При помилці завантаження перевірте права 755/644
- Після правок sshd_config тримайте другу SSH-сесію відкритою