Tillbaka till bloggen
Maj 23, 2026Guider

Hur man ställer in SFTP för säker filöverföring

SFTP via OpenSSH: användare, chroot och anslutning med FileZilla eller WinSCP.

Hur man ställer in SFTP för säker filöverföring

SFTP (SSH File Transfer Protocol) ger krypterad filuppladdning och nedladdning utan separat FTP-daemon. På Linux VPS är SFTP inbyggt i OpenSSH.

SFTP med dedikerad användare

Skapa användare endast för filuppladdningar:

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 (rekommenderas)

Begränsa användaren till en katalog:

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

Anslut från dator

Populära klienter stöder 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

Säkerhetschecklista

  • SSH-nycklar istället för lösenord för SFTP-användare
  • Dela aldrig root SFTP-åtkomst med tredje part
  • Inaktivera lösenordsauth för root i sshd_config
  • Chroot för upload-only-konton
  • Fail2ban på SSH-port
  • Brandvägg: tillåt port 22 bara från betrodda IP om möjligt

Tips

  • SFTP är inte FTP — öppna inte port 21 om du inte behöver legacy FTP
  • För WordPress, föredra SSH-nycklar + deployment-verktyg
  • rsync över SSH är snabbare för stora migreringar
  • Kontrollera behörigheter vid uppladdningsfel (755 dirs, 644 files)
  • Efter sshd_config-ändringar, testa SSH i andra sessionen