Zpět na blog
Květen 23, 2026Návody

Jak nastavit SFTP pro bezpečný přenos souborů

SFTP přes OpenSSH: uživatelé, chroot a připojení z FileZilla nebo WinSCP.

Jak nastavit SFTP pro bezpečný přenos souborů

SFTP (SSH File Transfer Protocol) šifruje přenos souborů bez samostatného FTP démona. Na Linux VPS je SFTP součástí OpenSSH — bezpečné nastavení na serverech Hiddence.

SFTP s vyhrazeným uživatelem

Vytvořte uživatele pouze pro nahrávání souborů:

bash
sudo adduser sftpuser
sudo passwd sftpuser

# Test:
sftp sftpuser@IP_VAŠEHO_VPS

# FileZilla: protokol SFTP, port 22

Chroot vězení (doporučeno)

Omezte uživatele na jeden adresář:

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

Připojení z počítače

Běžní klienti SFTP podporují:

  • FileZilla — Host: sftp://IP, Port: 22
  • WinSCP — Protokol: SFTP
  • macOS — Připojit k serveru: sftp://user@IP
  • Linux: sftp user@IP nebo scp
  • VS Code — rozšíření Remote SSH

Bezpečnostní checklist

  • SSH klíče místo hesel pro SFTP
  • Nesdílejte root SFTP s třetími stranami
  • Vypněte přihlášení root heslem v sshd_config
  • Chroot pro účty pouze pro upload
  • Fail2ban na SSH portu
  • Port 22 ve firewallu jen z důvěryhodných IP

Tipy

  • SFTP není FTP — port 21 neotevírejte bez potřeby
  • WordPress: nasazení přes SSH/rsync
  • rsync přes SSH je rychlejší pro velké migrace
  • Při chybě uploadu zkontrolujte práva 755/644
  • Po změně sshd_config nechte druhou SSH session otevřenou