Jak dodać klucz SSH przy pomocy PuTTy w Windows?
Logowanie kluczem SSH to standard, gdy administrujesz serwerem lub korzystasz z hostingu i VPS w Nodea. W tym poradniku pokazujemy krok po kroku, jak na komputerze z Windows wygenerować parę kluczy w PuTTYgen, wgrać klucz publiczny na serwer i zalogować się w PuTTy bez podawania hasła. Cały proces zajmuje kilka minut, a konfigurację robisz raz — potem logujesz się jednym kliknięciem.
Czym jest klucz SSH i z czego się składa?
Klucz SSH to para dwóch plików — klucza prywatnego i klucza publicznego — które razem pozwalają zalogować się na serwer bez podawania hasła. Logowanie kluczem SSH jest bezpieczniejsze niż samo hasło, bo klucza kryptograficznego nie da się odgadnąć ani złamać atakiem siłowym. Oba pliki pasują do siebie jak klucz do zamka:
- klucz prywatny zostaje na Twoim komputerze i nikomu go nie udostępniasz,
- klucz publiczny trafia na serwer, do pliku z listą dozwolonych kluczy.
Całe dodanie klucza pokazujemy dalej krok po kroku. Warto od razu rozwiać jedną wątpliwość: PuTTy to program (klient) do łączenia się przez SSH, a nie sam protokół — rozwijamy to w kolejnej sekcji. Do pary kluczy używa się algorytmu RSA o długości minimum 2048 bitów.
Do czego potrzebujesz PuTTy w systemie Windows?
PuTTy to darmowy klient SSH dla Windows — potrzebujesz go, bo Windows w starszych wersjach nie łączy się przez SSH samodzielnie. Klient SSH daje Ci okno terminala, przez które wydajesz polecenia na zdalnym serwerze. Windows 10 i 11 mają już wbudowany OpenSSH w wierszu poleceń, ale PuTTy pozostaje najwygodniejszym narzędziem do zapisywania sesji i pracy kluczem.
Sam PuTTy to nie jeden plik — w pakiecie dostajesz kilka narzędzi: PuTTYgen do generowania i konwersji kluczy, PSCP do kopiowania plików oraz Pageant (agenta przechowującego klucz w pamięci). Dzięki temu jeden darmowy instalator daje Ci wszystko, czego potrzebujesz do pracy kluczem SSH — od wygenerowania pary kluczy po wygodne logowanie. PuTTy pobierzesz z oficjalnej strony projektu pod adresem putty.org; wybierz instalator MSI dla swojej architektury (najczęściej 64-bit). Po instalacji masz od razu dostęp do PuTTYgen, którego użyjesz w następnym kroku. Jeśli chcesz najpierw poznać samo połączenie SSH z serwerem, zajrzyj do naszego słownika.
Wygeneruj klucz SSH w programie PuTTYgen
Jak wygenerować klucz SSH w PuTTYgen? Otwórz PuTTYgen, kliknij Generate, ustaw minimum 2048 bitów i zapisz klucz prywatny jako plik .ppk. Poniżej pełna kolejność kroków:
- Otwórz PuTTYgen (plik PUTTYGEN.EXE z pakietu PuTTy).
- W sekcji Parameters na dole okna ustaw długość klucza na minimum 2048 bitów (pole Number of bits in a generated key).
- Kliknij przycisk Generate w sekcji Actions.
- Poruszaj myszką w pustym obszarze okna — te losowe ruchy dostarczają danych do wygenerowania klucza. Pasek postępu zapełni się do końca.
- Skopiuj klucz publiczny z pola na górze okna (Public key for pasting…) — zaczyna się od ciągu ssh-rsa. Przyda się w kolejnym kroku.
- Kliknij Save private key i zapisz klucz prywatny na dysku jako plik id_rsa.ppk.
- Opcjonalnie w polach Key passphrase ustaw hasło do klucza — wtedy przy każdym logowaniu podasz to hasło.
PuTTYgen to jedyne narzędzie z pakietu, które tworzy parę kluczy: prywatny w formacie .ppk i publiczny w formacie ssh-rsa. Klucz prywatny .ppk zapisz w bezpiecznym miejscu na dysku, do którego nie ma dostępu nikt poza Tobą — to plik, którego nigdy nie udostępniasz. Nie zamykaj okna dopóki nie wgrasz klucza publicznego na serwer, bo klucza publicznego w tej samej postaci nie odczytasz później z pliku .ppk bez ponownego otwarcia go w PuTTYgen.
Masz już klucz z Linuksa? Zaimportuj go do PuTTy
Masz już klucz SSH wygenerowany na Linuksie? Skopiuj plik id_rsa na Windows i zaimportuj go w PuTTYgen przez menu Conversions — nie musisz generować nowego.
- Skopiuj klucz prywatny id_rsa z Linuksa na komputer z Windows.
- W PuTTYgen wybierz z górnego menu Conversions › Import Key i wskaż skopiowany plik.
- Zapisz go w formacie PuTTy przyciskiem Save private key jako id_rsa.ppk.
Pełną instrukcję generowania klucza po stronie Linuksa opisaliśmy osobno — jeśli pracujesz na obu systemach, sprawdź, jak dodać klucz SSH w systemie Linux.
Wgraj klucz publiczny na serwer do pliku authorized_keys
Jak wgrać klucz publiczny na serwer? Zaloguj się do serwera przez PuTTy i wklej klucz publiczny do pliku ~/.ssh/authorized_keys. Bez tego kroku logowanie kluczem nie zadziała.
- Skopiuj cały klucz publiczny z okna PuTTYgen — od ciągu ssh-rsa do samego końca linii.
- Zaloguj się do serwera przez PuTTy swoimi obecnymi danymi (login i hasło).
- Otwórz lub utwórz plik listy kluczy komendą vi ~/.ssh/authorized_keys (jeśli katalog .ssh nie istnieje, utwórz go wcześniej: mkdir -p ~/.ssh).
- Wklej klucz publiczny do pliku, zapisz i zamknij edytor.
- Ustaw uprawnienia pliku tak, żeby grupa i inni użytkownicy nie mieli prawa zapisu — najprościej komendą chmod 600 ~/.ssh/authorized_keys.
- Wyloguj się z serwera komendą exit.
Właściwe „dodanie klucza" to właśnie ten krok: wklejenie klucza publicznego do pliku ~/.ssh/authorized_keys na serwerze. Zbyt szerokie uprawnienia tego pliku to jedna z najczęstszych przyczyn odrzucenia klucza przez serwer, dlatego nie pomijaj polecenia chmod. Jeśli częściej kopiujesz na serwer całe pliki, sprawdź też, jak połączyć się z kontem FTP.
Zaloguj się na serwer kluczem prywatnym w PuTTy
Jak zalogować się kluczem w PuTTy? W ustawieniach połączenia wskaż plik klucza prywatnego .ppk w sekcji Connection › SSH › Auth i połącz się z serwerem.
- Otwórz PuTTy i w sekcji Session wpisz nazwę hosta lub adres IP serwera.
- W lewym drzewku przejdź do Connection › SSH › Auth (w nowszych wersjach: Auth › Credentials).
- W polu Private key file for authentication kliknij Browse i wskaż plik id_rsa.ppk zapisany wcześniej.
- Wróć do sekcji Session, kliknij Open, żeby połączyć się z serwerem, i podaj swój login.
- Jeśli nie ustawiłeś hasła do klucza, zalogujesz się bez podawania hasła — wystarczy sama nazwa użytkownika.
Klucz prywatny w formacie .ppk to jedyny plik, którego PuTTy potrzebuje do uwierzytelnienia. Zapisz całą sesję (przycisk Save w sekcji Session pod wybraną nazwą), żeby przy kolejnym logowaniu nie wskazywać klucza ani adresu serwera ponownie — wystarczy dwukrotne kliknięcie zapisanej sesji. Jeśli używasz agenta Pageant, dodaj do niego klucz raz i PuTTy pobierze go automatycznie przy każdym połączeniu.
Co zrobić, gdy pojawia się błąd "Server refused our key"?
Widzisz komunikat „Server refused our key"? Najczęściej logujesz się na złego użytkownika albo źle wkleiłeś klucz publiczny do authorized_keys. Sprawdź kolejno trzy rzeczy:
- Czy logujesz się jako właściwy użytkownik — klucz publiczny działa tylko dla konta, w którego katalogu domowym leży plik authorized_keys.
- Czy klucz publiczny został wklejony w całości, w jednej linii, bez zbędnych spacji i łamania wierszy.
- Czy plik authorized_keys ma poprawne uprawnienia (chmod 600) i czy katalog ~/.ssh ma chmod 700.
Jak wygenerować klucz SSH przez wiersz poleceń (cmd)?
Jak wygenerować klucz SSH bez PuTTYgen? Otwórz wiersz poleceń (cmd), wpisz komendę ssh-keygen i klucz utworzy się w folderze użytkownika. Ta metoda działa na nowszym Windows z wbudowanym OpenSSH.
- Otwórz wiersz poleceń: naciśnij Windows+R, wpisz cmd i zatwierdź Enterem.
- Wpisz komendę ssh-keygen i zatwierdzaj kolejne pytania Enterem (lokalizacja pliku, opcjonalne hasło).
- Klucz utworzy się w lokalizacji C:\Users\nazwa_uzytkownika\.ssh.
- Plik z końcówką .pub to klucz publiczny — umieść go na serwerze w pliku ~/.ssh/authorized_keys.
- Do logowania w PuTTy klucz prywatny wymaga formatu .ppk — otwórz go w PuTTYgen (Conversions › Import Key) i zapisz jako id_rsa.ppk.
Nowszy Windows ma wbudowany OpenSSH, więc do samego wygenerowania klucza nie zawsze potrzebujesz PuTTYgen — ale do logowania w PuTTy klucz prywatny i tak konwertujesz na format .ppk. Jeśli po tych krokach połączenie dalej nie działa, zespół Nodea pomaga w konfiguracji dostępu w ramach wsparcia administracyjnego Linux.
Czy PuTTY to SSH?
Nie — PuTTy to darmowy program (klient) do łączenia się przez protokół SSH z Windowsa. Sam SSH to protokół sieciowy, a PuTTy tylko z niego korzysta, dając okno terminala do pracy na serwerze.
Jak dodać klucz do SSH?
Wygeneruj parę kluczy w PuTTYgen, a następnie wklej klucz publiczny do pliku ~/.ssh/authorized_keys na serwerze. Klucz prywatny w formacie .ppk zostaje na Twoim komputerze i nikomu go nie udostępniasz.
Jak wygenerować klucz SSH w Windows?
Otwórz PuTTYgen, kliknij Generate, ustaw minimum 2048 bitów i zapisz klucz prywatny jako plik .ppk. Alternatywnie użyj komendy ssh-keygen w wierszu poleceń, jeśli Twój Windows ma wbudowany OpenSSH.
Jak uruchomić SSH na Windows?
Zainstaluj PuTTy — darmowy klient SSH dla Windows. Nowsze wersje Windows 10 i 11 mają też wbudowany OpenSSH dostępny z wiersza poleceń, ale do logowania w samym PuTTy klucz prywatny musi mieć format .ppk.
Czy do logowania kluczem SSH potrzebuję hasła?
Nie, jeśli nie ustawisz hasła do klucza (passphrase) — wtedy logujesz się samym kluczem prywatnym. Ustawienie passphrase dodaje warstwę bezpieczeństwa: nawet po kradzieży pliku .ppk nikt bez hasła go nie użyje.
Co zrobić, gdy PuTTy pokazuje "Server refused our key"?
Sprawdź, czy logujesz się na właściwego użytkownika i czy klucz publiczny został poprawnie wklejony do authorized_keys. To dwie najczęstsze przyczyny tego błędu, obok zbyt szerokich uprawnień pliku na serwerze.
