Poradniki

Jak połączyć się z serwerem SFTP w Windows (hasło lub plik klucza)

Kontrahent, bank albo firma hostingowa przesłali ci host, nazwę użytkownika i hasło albo plik klucza. Co oznacza każda z tych informacji, jak połączyć się z Windows (aplikacją albo wbudowanym poleceniem sftp) i co mówią typowe komunikaty o błędach.

· 7 min czytania · Vlad Fedoniuk

Ktoś przesłał ci dostęp do SFTP. Kontrahent chce twoich plików na swoim serwerze, bank potrzebuje codziennego przesyłu albo firma hostingowa daje ci dostęp do twojej strony. Wiadomość zawiera nazwę hosta, nazwę użytkownika i hasło albo załączony plik klucza, a nie ma w niej słowa o tym, co z tym zrobić w Windows.

Ten poradnik wyjaśnia, co oznacza każda z tych informacji, pokazuje dwa sposoby połączenia (aplikacją albo poleceniem sftp, które Windows już ma) i tłumaczy, co mówią typowe komunikaty o błędach.

Co oznaczają poszczególne dane

DostałeśCo to jest
Host, na przykład sftp.example.comAdres serwera. Czasem adres IP zamiast nazwy.
Port22, chyba że podano inny. Niektóre firmy używają innego, np. 2222: użyj dokładnie tego, który ci przesłano.
Nazwa użytkownikaTwoje konto na tym serwerze. Nie twój adres e-mail, chyba że tak napisano.
HasłoDo logowania hasłem. Niektóre serwery chcą zamiast tego klucza albo klucza i hasła.
Plik klucza: .ppk, .pem, id_rsa lub id_ed25519Twój klucz prywatny do logowania kluczem. Może mieć własne hasło (passphrase).
Odcisk w rodzaju SHA256:...Odcisk klucza hosta serwera, dzięki któremu przy pierwszym połączeniu sprawdzisz, że trafiłeś na właściwy serwer.
Folder w rodzaju /incomingMiejsce, do którego możesz wysyłać pliki. Na wielu serwerach kontrahentów to jedyne miejsce z prawem zapisu.
Link w rodzaju sftp://user@host:2222/incomingWiększość powyższych danych w jednej linijce. Wiele aplikacji przyjmuje go bez zmian.

Czego w e-mailu często brakuje: wielu kontrahentów przyjmuje połączenia tylko ze znanych sobie adresów. Jeśli prosili o twój adres IP, wyślij im publiczny adres IP swojego biura, zanim spróbujesz się połączyć.

Połączenie przez aplikację

Klient graficzny to najszybszy sposób, żeby zobaczyć serwer i przeciągać pliki w obie strony. W FTPie:

  1. Wybierz Dodaj dysk, a potem SFTP.
  2. Wpisz Host, Port i Nazwę użytkownika. Jeśli dostałeś link sftp://, wklej cały link w pole Host, a FTPie wyciągnie z niego port, nazwę użytkownika, hasło i folder. Gdy opcja Ustawienia > Integracja z Windows > Otwieraj linki ftp:// i sftp:// w FTPie jest włączona, kliknięcie linku otwiera ten formularz już wypełniony, z przetestowanym połączeniem.
  3. W polu Metoda uwierzytelniania wybierz Uwierzytelnianie hasłem, Uwierzytelnianie kluczem albo Uwierzytelnianie podwójne, jeśli serwer chce klucza i hasła.
  4. W przypadku klucza kliknij Wybierz plik obok pola Klucz prywatny i wskaż plik klucza. Jeśli klucz ma hasło, wpisz je.
  5. Opcjonalnie ustaw Katalog startowy, np. /incoming, a potem kliknij Testuj połączenie.
  6. Przy pierwszym połączeniu FTPie pokazuje Informacje o kluczu hosta serwera. Porównaj odcisk z tym, który ci przesłano, i kliknij Akceptuj.
Dane połączenia SFTP w FTPie: host, port, nazwa użytkownika oraz uwierzytelnianie hasłem lub kluczem SSH
Host, port i nazwa użytkownika, a potem hasło, plik klucza albo jedno i drugie.

SFTP jest w darmowym planie FTPie do użytku osobistego, dla maksymalnie trzech serwerów FTP, FTPS lub SFTP. Do pracy FTPie Pro oferuje bezpłatny okres próbny.

Pliki kluczy: .ppk, .pem czy OpenSSH?

  • .ppk to format PuTTY, tworzony w PuTTYgen. Istnieją dwie wersje, 2 i 3.
  • .pem to klucz PEM, na przykład taki, jaki AWS daje do serwera EC2.
  • id_rsa lub id_ed25519 bez rozszerzenia to klucz OpenSSH utworzony poleceniem ssh-keygen.
  • Wszystko, co kończy się na .pub, to połowa publiczna. Należy do serwera; nigdy nie wczytujesz jej do klienta.

Większość poradników zaczyna od przekonwertowania jednego formatu na drugi w PuTTYgen. FTPie czyta wszystkie trzy bez zmian, z hasłem lub bez, więc ten krok możesz pominąć. Gdy nie może odczytać pliku, mówi dlaczego: brakuje hasła albo jest błędne, plik nie jest kluczem prywatnym albo wybrałeś plik .pub.

Formularz SFTP w FTPie z uwierzytelnianiem kluczem: host sftp.example.com, użytkownik exports, klucz prywatny id_ed25519 i opcjonalne hasło klucza
Uwierzytelnianie kluczem OpenSSH, takim, jakim utworzył go ssh-keygen. Plik .ppk albo .pem trafia do tego samego pola.

W jednym przypadku konwersja i tak jest potrzebna: wbudowane w Windows polecenie sftp nie czyta plików .ppk. Otwórz klucz w PuTTYgen i użyj Conversions > Export OpenSSH key. W drugą stronę Load, a potem Save private key w PuTTYgen zamienia plik .pem w .ppk dla narzędzi, które go wymagają.

Połączenie wbudowanym w Windows poleceniem sftp

Windows 10 i 11 mają wbudowanego klienta OpenSSH. W PowerShellu lub Wierszu polecenia:

sftp -P 22 exports@sftp.example.com

Port podaje się wielką literą -P; mała litera -p oznacza w sftp coś innego. Za pierwszym razem sftp pokazuje odcisk serwera i pyta Are you sure you want to continue connecting (yes/no/[fingerprint])? Porównaj go z tym, który ci przesłano, wpisz yes, a potem podaj hasło. Z plikiem klucza zamiast hasła:

sftp -i C:\Users\you\.ssh\id_ed25519 exports@sftp.example.com

Po zalogowaniu ls wyświetla pliki, cd zmienia folder, put wysyła, get pobiera, a bye kończy sesję. Resztę znajdziesz w przewodniku po poleceniach SFTP, a artykuł o tym, jak zautomatyzować przesyłanie plików przez FTP i SFTP, pokazuje, jak zamienić codzienny przesył w zaplanowane zadanie.

Gdy połączenie się nie udaje

  • "Permission denied (publickey)": serwer przyjmuje tylko klucze, a twojego klucza na nim nie ma. Sprawdź, czy wczytałeś klucz prywatny, a nie plik .pub, i czy administrator serwera dodał twój klucz publiczny.
  • "Permission denied (password)" albo błąd uwierzytelniania w aplikacji: nazwa użytkownika lub hasło są błędne. Na większości serwerów nazwy użytkowników rozróżniają wielkość liter.
  • "Connection timed out": nic nie odpowiedziało. Zwykle to zapora, zły port albo serwer, który wpuszcza tylko dozwolone adresy IP.
  • "Connection refused": maszyna odpowiedziała, ale na tym porcie nic nie nasłuchuje. Sprawdź numer portu.
  • "Host key verification failed" albo ostrzeżenie, że klucz hosta się zmienił: klucz serwera nie pasuje już do tego zapisanego na twoim komputerze. To może być przeinstalowany serwer albo coś gorszego, więc zanim zaakceptujesz nowy klucz, potwierdź to z właścicielem serwera. W przypadku wbudowanego w Windows sftp stary wpis usuwa polecenie ssh-keygen -R sftp.example.com.
  • "Permission denied" przy wysyłaniu: masz połączenie, ale nie możesz tam zapisywać. Serwery kontrahentów często pozwalają wysyłać pliki tylko do jednego folderu, np. /incoming.
  • "Could not connect to server" w FileZilli obejmuje większość powyższych przypadków; jej dziennik komunikatów mówi, który to z nich.

Zanim napiszesz do kontrahenta, trzy bezpłatne testy zawężą problem: tester połączenia SFTP (czy serwer w ogóle odpowiada z internetu?), sprawdzanie metod uwierzytelniania SFTP (czy chce hasła, klucza, czy obu?) i odcisk klucza hosta SFTP (jakie klucze przedstawia?). Serwer, który przyjmuje tylko dozwolone adresy, odrzuci też te testy.

Zacznij swój 30-dniowy bezpłatny okres próbny

Pobierz FTPie i zacznij bezpłatny 30-dniowy okres próbny. Korzystaj z FTP i chmury w jednym oknie, a potem zostań przy wersji bezpłatnej.

Pobierz wersję próbną
Zweryfikowane w CASA i przeskanowane przez VirusTotal
30 dni próbnie · Wersja bezpłatna w zestawie
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

Twórca FTPie. Buduję narzędzia dla Windows do pracy z plikami na serwerach i w chmurze. fedoni.uk Znajdziesz mnie tutaj X (formerly Twitter) , LinkedIn albo napisz e-mail vlad@ftpie.com