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łącznik | Co robi | Przykład |
|---|---|---|
sftp user@host | Rozpoczyna 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 keyfile | Uwierzytelnia konkretnym prywatnym kluczem SSH. | sftp -i ~/.ssh/deploy_key alice@example.com |
-b file | Tryb wsadowy – wykonuje polecenia z pliku, bez udziału człowieka. | sftp -b upload.txt alice@example.com |
-r | Sprawia, że get i put działają rekurencyjnie przez całą sesję. | sftp -r alice@example.com |
sftp user@host:path | Pobiera 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
| Command | Co robi | Przykład |
|---|---|---|
get | Pobiera plik z serwera. | get report.pdf |
get -r | Pobiera katalog razem z całą zawartością. | get -r backups |
put | Wysyła lokalny plik na serwer. | put site.zip |
put -r | Wysyła katalog rekurencyjnie. | put -r dist |
mget | Pobiera wiele plików pasujących do wzorca. | mget *.log |
mput | Wysyła wiele plików pasujących do wzorca. | mput *.html |
reget | Wznawia częściowo pobrany plik. | reget big-backup.tar |
reput | Wznawia częściowo wysłany plik. | reput big-backup.tar |
progress | Włą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
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ą.
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.
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.
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.
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