FTP (File Transfer Protocol) to protokół do przesyłania plików między komputerem a serwerem. Używasz go, kiedy wgrywasz WordPressa na hosting, pobierasz backup bazy albo zarządzasz plikami na serwerze. W praktyce coraz częściej zamiast czystego FTP używa się jego szyfrowanej wersji (SFTP albo FTPS). Najpopularniejszy klient to FileZilla. Po stronie serwera siedzi oprogramowanie typu vsftpd albo ProFTPD, nasłuchujące na porcie 21.
Spis treści
ToggleJak FTP w ogóle działa
FTP to klasyczny model klient-serwer. Klient FTP (FileZilla, WinSCP, Cyberduck albo terminal) łączy się z serwerem FTP. Klient wysyła komendę „pobierz plik index.php”, serwer odsyła plik. Pod spodem działają dwa kanały: kontrolny na porcie 21 (komendy: logowanie, listowanie katalogów, nawigacja) i danych (port 20 albo losowy, ten od właściwego transferu).
FTP ma dwa tryby. Active mode: serwer łączy się z klientem na porcie podanym przez klienta. Problem: za NAT-em albo firewallem często nie działa. Passive mode: klient łączy się z serwerem na porcie podanym przez serwer. Działa za NAT-em i to jest tryb, który wybierasz.
FTP vs SFTP vs FTPS
| Protokół | Szyfrowanie | Port | Rekomendacja |
|---|---|---|---|
| FTP | Brak (plaintext) | 21 | Nie używaj, hasła lecą jawnym tekstem |
| FTPS | SSL/TLS | 990 (implicit) lub 21 (explicit) | OK, jeśli hosting wymaga |
| SFTP | SSH | 22 | Najlepszy wybór, szyfrowany, nie wymaga osobnego serwera FTP |
SFTP (SSH File Transfer Protocol) bywa mylony z „FTP przez SSH”, ale to inny protokół, oparty na SSH. Szyfruje dane i komendy, działa na porcie 22 (tym samym, co SSH, więc nie otwierasz dodatkowych portów w firewallu) i nie wymaga osobnego serwera FTP. Jeśli masz SSH, masz już SFTP. W 2026 nie ma powodu używać nieszyfrowanego FTP. Sam łączę się wyłącznie po SFTP, nawet z lokalnymi serwerami testowymi.
Jak się połączyć
FileZilla. Otwórz, Menedżer Witryn, Nowa Witryna. Protokół: SFTP – SSH File Transfer Protocol. Host: IP serwera albo domena. Port: 22 dla SFTP, 21 dla FTP/FTPS. Typ logowania: Normalne, login i hasło (albo klucz SSH). Połącz. Po lewej masz pliki lokalne, po prawej serwer. Przeciągasz między panelami.
Terminal.
# SFTP
sftp user@IP_SERWERA
sftp> put plik.zip # wgraj plik na serwer
sftp> get backup.sql # pobierz plik z serwera
sftp> ls # listuj pliki
sftp> cd /var/www # zmień katalog
# SCP (jednorazowe kopiowanie)
scp plik.zip user@IP:/var/www/ # wgraj
scp user@IP:/var/www/backup.sql ./ # pobierz
Konfiguracja serwera FTP na VPS
Na VPS-ie z Ubuntu masz SFTP od razu, jeśli działa SSH. Nie trzeba instalować nic dodatkowego. Klasyczny serwer FTP przyda ci się tylko, jeśli prowadzisz hosting z wieloma użytkownikami albo masz specyficzne wymaganie:
# Instalacja vsftpd
sudo apt install vsftpd -y
# Konfiguracja
sudo nano /etc/vsftpd.conf
Najważniejsze flagi w vsftpd.conf: anonymous_enable=NO (wyłącz anonimowy dostęp), local_enable=YES (logowanie użytkownikami systemowymi), write_enable=YES (pozwól na upload), chroot_local_user=YES (zamknij użytkownika w jego katalogu, bezpieczeństwo), ssl_enable=YES (FTPS, czyli szyfrowanie).
# Restart
sudo systemctl restart vsftpd
# Firewall
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp # porty trybu passive
FTP na hostingu współdzielonym
Na shared hostingu serwer FTP jest już skonfigurowany. Dostajesz dane: host (np. ftp.twojadomena.pl), login FTP (osobny od loginu do panelu), hasło, port (21 dla FTP/FTPS, 22 dla SFTP, jeśli hosting obsługuje). Dane znajdziesz w panelu (cPanel: Konta FTP, DirectAdmin: FTP Management).
Zasada jest prosta: na shared hostingu łącz się przez SFTP na porcie 22, jeśli hosting to obsługuje. Jeśli nie, idź w FTPS z explicit TLS na porcie 21. Czysty FTP bez szyfrowania zostawiasz w 1995, gdzie powstał.
Alternatywy w 2026
SFTP przez SSH. Standard do zarządzania plikami. Szyfrowany, wygodny, zero osobnej konfiguracji.
Git plus CI/CD. Profesjonalni developerzy nie wgrywają plików ręcznie. Kod siedzi na GitHubie, push na main, GitHub Actions automatycznie deployuje na serwer. Zero ręcznego klikania, pełna historia zmian, automatyczne testy.
rsync. Synchronizacja plików przez SSH, szybsza niż SFTP przy dużych transferach, bo wysyła tylko zmienione fragmenty. Komenda: rsync -avz ./pliki/ user@IP:/var/www/. Sam tego używam do deployowania artykułów na własnych blogach.
File Manager w panelu. cPanel, DirectAdmin i Plesk mają menedżer plików w przeglądarce. Drobne edycje albo szybki podgląd: świetne. Wrzucanie setek plików: zapomnij, przeciągasz przez SFTP.
Najczęściej zadawane pytania
Czy FTP jest bezpieczny
Czysty FTP (port 21, bez szyfrowania): nie. Login, hasło i pliki idą jawnym tekstem. Ktoś w tej samej sieci, na publicznym WiFi, podsłucha to bez problemu. FTPS (FTP + SSL/TLS) jest bezpieczny. SFTP (przez SSH) jest bezpieczny i wygodniejszy. W 2026 nie ma żadnego powodu, żeby siedzieć na nieszyfrowanym FTP.
Jaka jest różnica między FTP a SFTP
FTP to osobny protokół (port 21, plaintext). SFTP to protokół oparty na SSH (port 22, szyfrowany). SFTP nie jest „FTP przez SSH”, to po prostu inny protokół, który ma podobne komendy (put, get, ls, cd). SFTP nie wymaga serwera FTP, wystarcza mu serwer SSH.
Jak wgrać stronę na hosting przez FTP
Łączysz się FileZillą (SFTP, port 22). Wchodzisz na serwerze do katalogu public_html (albo /var/www/html na VPS). Przeciągasz pliki strony z lewego panelu do prawego, czekasz na upload. Otwierasz stronę w przeglądarce, powinna działać. Dla WordPressa: wgrywasz pliki, a bazę MySQL importujesz osobno przez phpMyAdmin.






