Nodea — logo

SFTP

SFTP (ang. SSH File Transfer Protocol) to protokół bezpiecznego przesyłania i zarządzania plikami, działający w ramach szyfrowanego połączenia SSH. Umożliwia nie tylko wgrywanie i pobieranie plików, ale też ich przeglądanie, zmianę nazw, usuwanie i ustawianie uprawnień — wszystko przez jeden, zaszyfrowany kanał na porcie 22. Mimo podobnej nazwy nie jest to rozszerzenie klasycznego FTP, lecz odrębny protokół zbudowany na SSH.

Jak działa SFTP?

SFTP wykorzystuje mechanizmy SSH do nawiązania i zabezpieczenia sesji:

  1. klient łączy się z serwerem SSH i przeprowadza uwierzytelnianie — hasłem lub, bezpieczniej, kluczem SSH,
  2. po zestawieniu szyfrowanego tunelu uruchamiany jest podsystem SFTP,
  3. polecenia i dane (transfer, listowanie katalogów, zmiany uprawnień) płyną przez ten sam, szyfrowany kanał.

Ponieważ cała komunikacja jest zaszyfrowana, ani login, ani hasło, ani przesyłane pliki nie są narażone na przechwycenie po drodze — inaczej niż w jawnym FTP. Dodatkowo uwierzytelnianie kluczem publicznym pozwala całkowicie zrezygnować z haseł, co jeszcze bardziej podnosi poziom bezpieczeństwa dostępu.

Zastosowanie w praktyce

SFTP to standard bezpiecznego wgrywania plików na serwer: wdrażanie stron WWW, publikacja plików aplikacji, przenoszenie kopii zapasowych czy wymiana danych między systemami. Korzysta się z niego przez klienty takie jak FileZilla i WinSCP, ten drugi często w połączeniu z PuTTY, a także z wiersza poleceń (sftp user@host) oraz w skryptach automatyzujących wdrożenia. Protokół dobrze nadaje się do zautomatyzowanej wymiany plików, ponieważ działa na jednym porcie i łatwo przechodzi przez zapory sieciowe. W nowoczesnym hostingu i na serwerach VPS SFTP jest domyślnym, zalecanym sposobem dostępu do plików — zastępuje przestarzałe, nieszyfrowane FTP wszędzie tam, gdzie liczy się bezpieczeństwo transmisji. Warto pamiętać, że dostęp SFTP dziedziczy uprawnienia konta systemowego użytkownika, dlatego przy wielu użytkownikach stosuje się ograniczanie ich do wybranych katalogów.

Powiązane pojęcia

Najczęstsze pytania

Czym różni się SFTP od FTP?

SFTP szyfruje całą sesję i przesyła dane w ramach połączenia SSH na porcie 22, natomiast klasyczne FTP przesyła login, hasło i pliki jawnym tekstem. Oznacza to, że SFTP jest bezpieczny domyślnie, podczas gdy FTP naraża dane na przechwycenie.

Czy SFTP i FTPS to to samo?

Nie. SFTP to protokół oparty na SSH, a FTPS to klasyczne FTP z dodaną warstwą szyfrowania TLS. Różnią się architekturą, portami i sposobem uwierzytelniania, choć oba zapewniają poufność transmisji.