SFTP

Bezpieczny protokół przesyłania plików działający w ramach szyfrowanego połączenia SSH. Stanowi zabezpieczoną alternatywę dla klasycznego FTP.

SFTP (SSH File Transfer Protocol) to protokół do bezpiecznego przesyłania, pobierania i zarządzania plikami na zdalnym serwerze, który działa jako część kanału SSH. W praktyce to znaczy, że logujesz się tym samym tunelem co przy zwykłym ssh — na porcie 22 — i wewnątrz tego zaszyfrowanego połączenia kopiujesz pliki, tworzysz katalogi czy zmieniasz uprawnienia. Cały ruch jest szyfrowany: zarówno hasło/klucz, jak i sama zawartość plików. To główna różnica wobec starego, gołego FTP, który ślicznie wysyłał Twoje hasło czystym tekstem przez sieć.

Jak to działa i do czego służy

SFTP nie jest „FTP-em z dokręconym SSL” — to całkowicie osobny protokół, zaprojektowany od zera jako rozszerzenie SSH. Nie myl go z FTPS (to FTP opakowany w TLS, inna bajka). Jeden szyfrowany kanał obsługuje wszystko: uwierzytelnianie, listowanie katalogów, transfer i operacje na plikach. Dzięki temu łatwiej przechodzi przez firewalle — wystarczy otwarty port SSH, bez kombinowania z trybem aktywnym/pasywnym jak w FTP.

Używasz go wszędzie tam, gdzie trzeba ruszyć pliki na serwer: wgranie strony na hosting, zrzucenie backupu, podmiana configu czy pobranie logów. Bonus: skoro masz dostęp przez klucze SSH, dostajesz uwierzytelnianie kluczem publicznym zamiast wklepywania hasła za każdym razem.

Przykład z praktyki

Najprościej z linii poleceń klientem sftp (jest w pakiecie OpenSSH):

  • Połączenie: sftp [email protected]
  • Wgranie pliku: put strona.zip
  • Pobranie pliku: get backup.sql
  • Lista plików na serwerze: ls, a lokalnie lls

Jeśli wolisz klikać, te same operacje robisz w WinSCP (Windows), FileZilla czy Cyberduck — wystarczy wybrać protokół SFTP zamiast FTP. Pod spodem to wciąż ten sam SSH.

Częste błędy i mity

  • SFTP ≠ FTPS. Brzmią podobnie, robią to samo zadanie, ale to dwa różne protokoły. SFTP siedzi na SSH (port 22), FTPS na FTP + TLS (zwykle port 990/21).
  • SFTP to nie SCP. SCP też lata przez SSH, ale tylko kopiuje pliki — SFTP daje pełne zarządzanie zdalnym systemem plików (przeglądanie, usuwanie, wznawianie transferu).
  • „Mam dostęp SSH, więc SFTP musi działać” — niekoniecznie. Czasem administrator wyłącza podsystem SFTP albo zamyka konto w chroot jail, więc widzisz tylko jeden katalog. Jak put wywala „permission denied”, sprawdź uprawnienia katalogu, nie protokół.

Pojęcia powiązane

SSH, FTP, FTPS, SCP, rsync, OpenSSH, uwierzytelnianie kluczem publicznym, port 22.