FTP vs SFTP — różnice, bezpieczeństwo i konfiguracja FileZilla
Opublikowano: 8 kwietnia 2026 · Kategoria: Hosting / Bezpieczeństwo
FTP to przestarzały protokół przesyłający dane bez szyfrowania. SFTP (przez SSH) szyfruje całe połączenie i jest bezpieczny nawet w sieci publicznej. Ten artykuł wyjaśnia różnice, konfigurację FileZilla i używanie kluczy SSH zamiast haseł.
FTP vs SFTP vs FTPS — porównanie
| Protokół | Port | Szyfrowanie | Wsparcie hostingów | Zalecany |
|---|---|---|---|---|
| FTP | 21 | Brak | Powszechne | NIE (niezabezpieczony) |
| FTPS (FTP+SSL) | 21/990 | TLS/SSL | Częste | TAK (alternatywa) |
| SFTP | 22 | SSH (pełne) | Powszechne na VPS | TAK (zalecany) |
| SCP | 22 | SSH (pełne) | VPS/serwery | TAK (do jednorazowych) |
Konfiguracja SFTP w FileZilla
# Logowanie hasłem (prostsze) Plik → Menadżer stron → Nowa strona: - Protokół: SFTP - SSH File Transfer Protocol - Serwer: twojadomena.pl lub IP serwera - Port: 22 (lub niestandardowy, np. 2222) - Typ logowania: Normalne - Użytkownik: login_ssh - Hasło: haslo_ssh # Logowanie kluczem SSH (bezpieczniejsze) - Typ logowania: Plik klucza - Plik klucza: wskaż ~/.ssh/id_rsa (OpenSSH) lub klucz.ppk (PuTTY) # Uwaga: FileZilla obsługuje natywnie klucze OpenSSH od wersji 3.58+
Generowanie i dodawanie klucza SSH
# Generuj parę kluczy Ed25519 (nowoczesny, szybszy od RSA) ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_hosting # Skopiuj klucz publiczny na serwer ssh-copy-id -i ~/.ssh/id_hosting.pub [email protected] # lub ręcznie: cat ~/.ssh/id_hosting.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" # Test połączenia ssh -i ~/.ssh/id_hosting [email protected] # W FileZilla: Edycja → Ustawienia → SFTP → Dodaj plik klucza → wskaż id_hosting
SFTP z linii komend (sftp/scp)
# Interaktywna sesja SFTP sftp -P 22 user@host sftp> ls # lista plików sftp> put lokalny-plik.zip # wyślij plik sftp> get zdalny-plik.sql # pobierz plik sftp> mput *.php # wyślij wiele plików sftp> exit # SCP (jednorazowy transfer) # Wyślij plik na serwer: scp -P 22 lokalny.zip user@host:/var/www/html/ # Pobierz bazę danych: scp -P 22 user@host:/var/www/html/backup.sql ~/Desktop/ # rsync przez SSH (synchronizacja katalogów) rsync -avz -e "ssh -p 22" ./local-dir/ user@host:/var/www/html/
Typowe problemy z SFTP
# Problem: Connection refused (port 22) # Hosting współdzielony może mieć inny port SSH # Sprawdź w panelu hostingu lub zapytaj support # Problem: Permission denied (publickey) # Klucz nie został dodany poprawnie cat ~/.ssh/authorized_keys # sprawdź czy klucz jest na serwerze chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys # Problem: Host key verification failed # Zmienił się klucz serwera (np. po migracji) ssh-keygen -R twojadomena.pl # usuń stary klucz z known_hosts # Problem: Too many authentication failures # Wiele prób klucza — ogranicz klucze ssh -o "IdentitiesOnly=yes" -i ~/.ssh/id_hosting user@host