Jak wygenerować klucze SSH na Windows?
Do czego służy SSH ?
SSH (Secure Shell) wykorzystuje kryptografię asymetryczną, czyli mechanizm oparty na dwóch powiązanych ze sobą kluczach: publicznym i prywatnym.
Każdy z nich ma swoją konkretną rolę:
- Klucz publiczny – może być bezpiecznie udostępniany. Umieszcza się go na serwerze, z którym chcesz się łączyć.
- Klucz prywatny – pozostaje wyłącznie na Twoim komputerze i nigdy nie powinien być przekazywany dalej ani wysyłany przez sieć.
Podczas łączenia się z serwerem SSH:
- Serwer sprawdza, czy posiada Twój klucz publiczny.
- Wysyła do Twojego klienta SSH wyzwanie (challenge), które można poprawnie odszyfrować tylko przy użyciu odpowiadającego mu klucza prywatnego.
- Klient SSH wykonuje operację kryptograficzną z użyciem klucza prywatnego i odsyła wynik.
- Jeśli wynik jest poprawny, serwer potwierdza tożsamość użytkownika – logowanie odbywa się bez konieczności wpisywania hasła.
Dzięki temu procesowi uwierzytelnianie jest znacznie bezpieczniejsze niż tradycyjne logowanie hasłem:
- klucz prywatny nigdy nie opuszcza Twojego komputera,
- nawet jeśli ktoś przechwyci ruch sieciowy, nie uzyska dostępu do serwera,
- można łatwo ograniczać dostęp, usuwając lub dodając klucze publiczne po stronie serwera.
W praktyce oznacza to, że dostęp w SSH opiera się na unikalnej parze kluczy – publicznym i prywatnym, które wspólnie potwierdzają, że masz uprawnienia do połączenia z serwerem.
Jak wygenerować klucze SSH na Windows?
Jeśli potrzebujesz utworzyć klucze SSH na Windowsie, możesz użyć do tego aplikacji PuTTYgen (do pobrania tu: https://www.puttygen.com/ ). Po otwarciu programu wybierz rodzaj i długość klucza. Wygeneruj klucze wciskając przycisk ‘Generate’.

Podczas generowania kluczy możesz ruszać myszką, aby generowane klucze były ‘bardziej losowe’ – program poinformuje Cię o tym za pomocą komunikatu: ‘Please generate samo randomness by moving the mouse over the blank area’.


Możesz podać hasło dla klucza, wpisując je w pole „Key passphrase” i „Confirm passphrase”.
Teraz zapisz oba klucze klikając w „Save public key” i „Save private key” – pamiętaj, by zapisać klucz prywatny z końcówką .ppk (PuTTY private key), jeśli zamierzasz łączyć się z serwerem poprzez program PuTTY, a klucz publiczny z rozszerzeniem .pub, np.:
- my_key_ed25519.ppk – klucz prywatny
- my_key_ed25519.pub – klucz publiczny
Dobrze jest też w nazwie zawrzeć rodzaj klucza oraz jego przeznaczenie, ponieważ po pewnym czasie nie będziesz już pamiętać, jakiego algorytmu szyfrowania użyłeś/aś ani do czego dany klucz ma służyć (szczególnie, jeśli posiadasz więcej kluczy na swoim komputerze).