Co to jest FTP?

Autor: Opublikowano

W skrócie: FTP to protokół, czyli zestaw zasad komunikacji, służący do przesyłania plików między komputerem a serwerem. Możesz użyć go na przykład do wgrania strony na hosting lub pobrania kopii jej plików. Zwykły FTP nie szyfruje danych ani hasła, dlatego do połączenia przez internet wybieraj SFTP lub FTPS, jeśli dostawca je udostępnia.

Do czego służy FTP i jak działa?

Skrót FTP pochodzi od angielskiego File Transfer Protocol. Komunikacja odbywa się między klientem, czyli programem inicjującym połączenie, a serwerem udostępniającym pliki. Po zalogowaniu użytkownik może wykonywać operacje zgodne z uprawnieniami konta: wysyłać i pobierać pliki, tworzyć katalogi, zmieniać nazwy lub usuwać dane.

Typowy program do transferu plików pokazuje dwa panele: pliki na komputerze oraz zawartość serwera. Przeniesienie dokumentu z jednego panelu do drugiego rozpoczyna przesyłanie. Program pozwala też śledzić postęp i sprawdzić, które operacje się nie powiodły.

FTP spotkasz przede wszystkim przy obsłudze hostingu, czyli usługi udostępniającej miejsce i zasoby dla strony internetowej. Może przydać się do podmiany obrazów, przesłania plików witryny albo pobrania logów, czyli zapisów zdarzeń na serwerze. Nie jest jednak niezbędny do każdej zmiany: treści w WordPressie zwykle edytuje się przez panel administracyjny, bez bezpośredniego dostępu do plików.

FTP, FTPS i SFTP — czym się różnią?

Podobne nazwy nie oznaczają tego samego sposobu połączenia. Najważniejsza dla użytkownika różnica dotyczy szyfrowania, które chroni przesyłane informacje przed odczytaniem przez osoby przechwytujące ruch sieciowy.

ProtokółOchrona transmisjiCo trzeba wiedzieć
FTPBrak szyfrowaniaDane logowania i zawartość plików mogą zostać przechwycone.
FTPSFTP zabezpieczony przez TLSWymaga obsługi TLS, mechanizmu używanego również do ochrony połączeń HTTPS.
SFTPTransfer przez SSHJest odrębnym protokołem, a nie odmianą FTP; korzysta z bezpiecznego połączenia SSH.

Jeśli masz wybór, korzystaj z SFTP lub FTPS zamiast zwykłego FTP. Oba rozwiązania mogą chronić transmisję, pod warunkiem poprawnej konfiguracji i weryfikacji tożsamości serwera. Wybierz protokół wskazany w dokumentacji hostingu; zmiana samego numeru portu nie zmieni FTP w SFTP.

FTP i FTPS z jawnym rozpoczęciem szyfrowania często używają portu 21, a SFTP — portu 22. Port to numer wskazujący usługę na serwerze. Dostawca może ustawić inne wartości, dlatego dane z jego panelu są ważniejsze niż domyślne ustawienia programu.

Jak połączyć się z serwerem i przesłać plik?

Potrzebujesz programu obsługującego wybrany protokół, na przykład FileZilla Client, WinSCP lub Cyberduck. Alternatywą może być menedżer plików dostępny w panelu hostingu. Przed instalacją programu sprawdź, czy panel nie wystarczy do jednorazowego zadania.

Do konfiguracji połączenia przygotuj adres serwera, protokół, port, nazwę użytkownika oraz metodę uwierzytelniania. Najczęściej będzie to hasło, a w przypadku SFTP dostawca może umożliwiać również użycie klucza SSH — pary kluczy, z których prywatny pozostaje u użytkownika. Login do panelu klienta hostingu nie musi być loginem do transferu plików.

  1. W panelu hostingu znajdź dane dostępu lub utwórz konto z dostępem tylko do potrzebnego katalogu.
  2. W programie dodaj nowe połączenie, wybierając dokładnie wskazany protokół i port.
  3. Sprawdź tożsamość serwera. Przy SFTP zweryfikuj odcisk klucza serwera z informacją od dostawcy; przy FTPS nie ignoruj ostrzeżeń o certyfikacie.
  4. Otwórz właściwy katalog docelowy. Katalog strony bywa nazwany public_html, www lub httpdocs, ale jego lokalizację potwierdź w panelu.
  5. Prześlij nieszkodliwy plik testowy, sprawdź rezultat i usuń go, jeśli nie jest już potrzebny.

Przykładowo: chcesz podmienić plik cennik.pdf na stronie. Najpierw pobierz dotychczasową wersję jako kopię, następnie wyślij nową do tego samego katalogu i sprawdź dokument w przeglądarce. Jeśli nadal widzisz starą treść, przyczyną może być pamięć podręczna, a nie nieudany transfer.

Dlaczego połączenie lub transfer nie działa?

Komunikat o błędnym logowaniu zwykle wymaga sprawdzenia nazwy użytkownika, hasła i wybranego protokołu. Przekroczenie czasu oczekiwania może wynikać z niewłaściwego adresu, portu albo blokady sieciowej. Nie rozwiązuj tych problemów przez wyłączanie szyfrowania.

Gdy logowanie do FTP lub FTPS działa, ale lista katalogów się nie wyświetla, problem może dotyczyć osobnego połączenia używanego do przesyłania danych. W takich sytuacjach sprawdza się tryb pasywny, w którym to klient inicjuje również połączenie danych. Jego wymagania sieciowe powinien opisać dostawca hostingu; SFTP nie korzysta z tego mechanizmu.

Błąd zapisu może natomiast oznaczać brak uprawnień albo wyczerpanie limitu miejsca. Sprawdź te dwie rzeczy, zanim zmienisz uprawnienia katalogów. Przyznawanie pełnego dostępu wszystkim użytkownikom nie jest bezpiecznym sposobem naprawy.

Czego transfer plików nie zastępuje?

Pobranie katalogu strony nie zawsze oznacza wykonanie pełnej kopii zapasowej. Witryna oparta na WordPressie lub innym systemie zarządzania treścią zwykle przechowuje część danych w bazie danych. Jej kopię trzeba wykonać osobno lub skorzystać z mechanizmu backupu obejmującego zarówno pliki, jak i bazę.

Szyfrowanie połączenia nie chroni też przed przypadkowym nadpisaniem lub usunięciem dokumentu. Przed pierwszą zmianą na działającej stronie ustal właściwy katalog, wykonaj kopię zmienianych plików i sprawdź, jak ją przywrócić.

Zobacz też: Co to jest CDN?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.