Обратно към блога
Май 23, 2026Ръководства

Как да настроите SFTP за сигурен трансфер на файлове

SFTP през OpenSSH: потребители, chroot и връзка с FileZilla или WinSCP.

Как да настроите SFTP за сигурен трансфер на файлове

SFTP (SSH File Transfer Protocol) осигурява криптирано качване и изтегляне на файлове без отделен FTP daemon. На Linux VPS SFTP е вграден в OpenSSH.

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 jail (препоръчително)

Ограничете потребителя до една директория:

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

Сигурност checklist

  • SSH ключове вместо пароли за SFTP потребители
  • Не споделяйте root SFTP достъп с трети страни
  • Деактивирайте password auth за root в sshd_config
  • Chroot за upload-only акаунти
  • Fail2ban на SSH порта
  • Firewall: порт 22 само от доверени IP при възможност

Съвети

  • SFTP не е FTP — не отваряйте порт 21 без нужда от legacy FTP
  • За WordPress предпочитайте SSH ключове + deployment инструменти
  • rsync през SSH е по-бърз за големи миграции
  • При грешка при качване проверете правата (755 dirs, 644 files)
  • След промени в sshd_config тествайте SSH във втора сесия