Przewodnik po poleceniach SFTP

Każde polecenie klienta sftp z OpenSSH ze składnią i przykładami – łączenie, przeglądanie, transfery, uprawnienia i skrypty wsadowe. Działa identycznie w Windows 10 i 11, macOS oraz Linuksie, bo wszystkie mają klienta OpenSSH.

Zaktualizowano w lipcu 2026

Łączenie się z serwerem

SFTP działa po SSH (domyślnie na porcie 22), więc uwierzytelnianie i weryfikacja klucza hosta działają dokładnie jak w ssh. Te przełączniki podaje się w wierszu poleceń przed rozpoczęciem sesji:

Polecenie / przełącznikCo robiPrzykład
sftp user@hostRozpoczyna interaktywną sesję SFTP.sftp alice@example.com
-P portŁączy się na niestandardowym porcie (uwaga: wielkie P, inaczej niż w ssh).sftp -P 2222 alice@example.com
-i keyfileUwierzytelnia konkretnym prywatnym kluczem SSH.sftp -i ~/.ssh/deploy_key alice@example.com
-b fileTryb wsadowy – wykonuje polecenia z pliku, bez udziału człowieka.sftp -b upload.txt alice@example.com
-rSprawia, że get i put działają rekurencyjnie przez całą sesję.sftp -r alice@example.com
sftp user@host:pathPobiera plik od razu i kończy działanie (bez sesji interaktywnej).sftp alice@example.com:/logs/app.log

Jeśli połączenie jest odrzucane albo wisi, najpierw sprawdź serwer testerem połączenia SFTP, a metody uwierzytelniania, które przyjmuje – narzędziem do sprawdzania metod uwierzytelniania SFTP.

Pobieranie i wysyłanie

CommandCo robiPrzykład
getPobiera plik z serwera.get report.pdf
get -rPobiera katalog razem z całą zawartością.get -r backups
putWysyła lokalny plik na serwer.put site.zip
put -rWysyła katalog rekurencyjnie.put -r dist
mgetPobiera wiele plików pasujących do wzorca.mget *.log
mputWysyła wiele plików pasujących do wzorca.mput *.html
regetWznawia częściowo pobrany plik.reget big-backup.tar
reputWznawia częściowo wysłany plik.reput big-backup.tar
progressWłącza i wyłącza wskaźnik postępu transferu.progress

Nie ma tu przełącznika ascii ani binary – SFTP zawsze przesyła pliki bajt w bajt, więc nic nie zostaje uszkodzone przez przekształcanie końców wiersza.

Tryb wsadowy i skrypty

Przy transferach bez nadzoru zapisz polecenia w pliku (po jednym w wierszu) i uruchom sftp w trybie wsadowym. Tryb wsadowy przerywa pracę przy pierwszym błędzie i wymaga uwierzytelniania kluczem – nie potrafi zapytać o hasło:

# upload.txt
cd /var/www/site
lcd C:\Projects\site\dist
put -r .
bye
C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com

To działa, ale każde powtarzalne zadanie oznacza utrzymywanie skryptu, klucza i wpisu w Harmonogramie zadań. Jeśli wolisz zdefiniować „wysyłaj ten folder co noc o 2:00” w oknie programu – z ponowieniami, powiadomieniami i historią – właśnie to robią transfery zaplanowane w FTPie.

O poleceniach SFTP

SFTP (SSH File Transfer Protocol) nie jest FTP po SSH – to osobny protokół zbudowany na warstwie połączeniowej SSH, opisany w serii dokumentów IETF draft-ietf-secsh-filexfer. Polecenie sftp w Windows, macOS i Linuksie to implementacja klienta z OpenSSH, a jej zestaw poleceń opisuje właśnie ta strona. Ponieważ wszystko dzieje się wewnątrz SSH, jeden otwarty port (22) niesie uwierzytelnianie, polecenia i zaszyfrowane dane – bez zakresów portów trybu pasywnego i bez certyfikatów TLS do skonfigurowania.

Przychodzisz od klasycznego FTP? Zestawy poleceń pokrywają się, ale różnią w istotnych miejscach – zobacz przewodnik po poleceniach FTP opisujący polecenia ftp.exe i protokołu z RFC 959.

Częste pytania

Czy polecenia SFTP są takie same jak polecenia FTP?

Nie. SFTP to inny protokół, działający po SSH, a jego zestaw poleceń jest podobny, ale nie identyczny. Podstawowe polecenia, jak get, put, cd, ls i bye, działają w obu, ale SFTP dokłada polecenia w stylu uniksowym, takie jak chmod, ln i df, używa reget i reput do wznawiania transferów i nie ma trybów ascii ani binary – każdy transfer jest binarny. Polecenia w rodzaju mdelete, hash czy literal, znane z klasycznych klientów FTP, w sftp nie istnieją.

Jak pobrać albo wysłać cały folder przez SFTP?

Użyj przełącznika -r (rekurencyjnie): get -r folderprojektu pobiera całe drzewo katalogów, a put -r folderprojektu je wysyła. W katalogu docelowym nie mogą już leżeć pliki powodujące konflikt. Możesz też rozpocząć sesję poleceniem sftp -r uzytkownik@host, żeby transfery były rekurencyjne domyślnie.

Jak wznowić przerwany transfer SFTP?

Użyj reget nazwapliku, żeby wznowić częściowo pobrany plik, i reput nazwapliku, żeby wznowić wysyłkę. Niepełny plik musi nadal istnieć po stronie odbierającej; sftp podejmie pracę od miejsca, w którym się zatrzymał, zamiast zaczynać od nowa.

Czy Windows ma wbudowane polecenie SFTP?

Tak. Windows 10 (od wersji 1809) i Windows 11 mają klienta OpenSSH, więc możesz uruchomić sftp uzytkownik@host wprost z wiersza polecenia albo PowerShella – bez instalowania czegokolwiek. Polecenia wypisane na tej stronie działają tak samo w Windows, macOS i Linuksie.

Jak zapisać transfery SFTP w skrypcie albo je zautomatyzować?

Wpisz po jednym poleceniu w wierszu do pliku tekstowego i uruchom sftp -b wsad.txt uzytkownik@host. Tryb wsadowy wymaga uwierzytelniania bez udziału człowieka, co w praktyce oznacza wcześniejsze ustawienie logowania kluczem SSH. Przy zadaniach powtarzalnych – zaplanowanych wysyłkach, kopiach zapasowych, synchronizacjach – klient z wbudowanym harmonogramem oszczędza Ci utrzymywania skryptów i wpisów w Harmonogramie zadań.

Wolisz okienkowego klienta SFTP?

FTPie to nowoczesny klient SFTP dla Windows z uwierzytelnianiem kluczem SSH, weryfikacją klucza hosta, rekurencyjnymi transferami przez przeciąganie i wbudowanym harmonogramem – darmowy do 3 połączeń z serwerami.

Download FTPie Free