Jak wygenerować klucz SSH w systemie Windows: 2 metody

Photo of author

By maciekx

Najważniejsze informacje dotyczące tworzenia kluczy SSH

  • Stwórz klucz SSH w systemie Windows, wykorzystując wiersz poleceń lub Podsystem Windows dla systemu Linux (WSL). OpenSSH w Windows 11 upraszcza ten proces i czyni go bezpiecznym, chociaż w Windows 10 może wymagać aktywacji opcjonalnych funkcji.
  • Uruchom narzędzie „ssh-keygen” (lub „ssh-keygen -t ed25519”) w wierszu poleceń lub WSL, a następnie wprowadź lokalizację zapisu oraz ewentualne hasło, aby wygenerować klucz.

Klucz SSH, czyli Secure Shell, to rodzaj poświadczenia, które jest niezbędne do bezpiecznej komunikacji za pośrednictwem protokołu SSH. Umożliwia on szyfrowanie przesyłanych plików, łączenie się z sieciami i zarządzanie rozległymi usługami chmurowymi, takimi jak AWS. Podobnie jak hasła, klucze SSH można generować w systemie Windows, co pozwala na tworzenie bezpiecznych połączeń. Poniżej przedstawiamy, jak to zrobić.

Proces generowania klucza SSH w systemie Windows

Protokół Secure Shell (SSH) jest uznawany za najlepszy sposób na zabezpieczenie połączenia pomiędzy komputerami w sieci. Zaleca się unikanie połączeń opartych na nazwie użytkownika i haśle na rzecz bezpieczniejszych, generowanych kryptograficznie kluczy SSH.

System Windows 11 posiada wbudowanego klienta OpenSSH, który ułatwia generowanie kluczy SSH bez konieczności instalowania dodatkowego oprogramowania. Powinno to działać analogicznie w systemie Windows 10, jednak w przypadku problemów, można aktywować opcję OpenSSH Client w panelu funkcji opcjonalnych systemu.

Istnieją dwie podstawowe metody generowania klucza SSH w Windows: za pomocą wiersza poleceń oraz poprzez WSL (Podsystem Windows dla systemu Linux). Rozpocznijmy od pierwszej metody.

Terminal Windows może być preferowanym wyborem ze względu na to, że zapewnia jednolite środowisko dla różnorodnych interfejsów wiersza poleceń. Umożliwia on uruchamianie w jednym oknie wiersza poleceń, PowerShell i WSL, zwiększając tym samym elastyczność i ułatwiając realizację zadań, takich jak generowanie kluczy SSH.

1. Tworzenie klucza SSH z wykorzystaniem wiersza poleceń

Aby wygenerować klucz SSH za pomocą wiersza poleceń w systemie Windows, postępuj zgodnie z poniższymi instrukcjami:

  • Uruchom wiersz poleceń z uprawnieniami administratora.
  • W oknie wiersza poleceń wpisz następujące polecenie i zatwierdź je klawiszem Enter:
    ssh-keygen
  • System wyświetli prośbę o wskazanie lokalizacji, w której klucz ma zostać zapisany.
  • Zatwierdź domyślną lokalizację (zazwyczaj jest to C:\Users\nazwa_użytkownika/.ssh/id_rsa), naciskając Enter. Możesz też, w razie potrzeby, określić inną ścieżkę.
  • System poprosi Cię o ustawienie hasła dla klucza, co jest opcjonalne, ale zalecane, ponieważ zwiększa bezpieczeństwo klucza SSH. Jeśli nie chcesz hasła, po prostu naciśnij Enter.
  • W przypadku ustawienia hasła, wprowadź je ponownie i naciśnij Enter. Jeśli hasło nie zostało wprowadzone, naciśnij Enter jeszcze raz.
  • W tym momencie system wygeneruje klucz SSH, prezentując odcisk palca klucza oraz informację o jego lokalizacji. Parę kluczy można również znaleźć w wybranej lokalizacji.

    Oprócz kluczy RSA, istnieje również możliwość tworzenia kluczy Ed25519, które generuje się w podobny sposób, z tą różnicą, że w wierszu poleceń należy użyć następującej komendy:

    ssh-keygen -t ed25519

    Pozostałe kroki są takie same jak w przypadku generowania klucza RSA. Należy więc wskazać lokalizację pliku, ewentualnie ustawić hasło, a system wygeneruje klucz, udostępniając odcisk palca oraz lokalizację.

    Odcisk palca klucza stanowi unikalny identyfikator Twojego klucza SSH. Można go użyć do weryfikacji autentyczności klucza podczas łączenia się ze zdalnym serwerem. Podczas tworzenia klucza SSH generowane są dwa elementy: klucz prywatny oraz klucz publiczny. Można je rozpoznać po rozszerzeniu pliku. Klucz prywatny nie posiada rozszerzenia, natomiast klucz publiczny ma rozszerzenie .pub.

    Klucz prywatny jest wykorzystywany do szyfrowania i deszyfrowania danych i powinien być traktowany jako informacja poufna. Klucz publiczny służy wyłącznie do szyfrowania i jego udostępnianie nie stanowi zagrożenia dla bezpieczeństwa klucza prywatnego.

    2. Generowanie klucza SSH z użyciem WSL

    Drugą metodą tworzenia klucza SSH jest użycie Podsystemu Windows dla systemu Linux (WSL). Dlaczego warto rozważyć WSL, skoro dostępne jest już wiersz poleceń systemu Windows?

    WSL oferuje kompletne środowisko systemu Linux w systemie Windows, co umożliwia uruchamianie poleceń Linux bez konieczności instalowania osobnego systemu operacyjnego. Jest to bardzo użyteczne dla programistów i administratorów systemów pracujących zarówno w środowisku Windows, jak i Linux.

    Jeśli masz problem z aktywacją WSL, zapoznaj się z naszym przewodnikiem dotyczącym włączania WSL w systemie Windows.

    Aby rozpocząć, wykonaj następujące kroki:

  • Uruchom terminal WSL.
  • Aby wygenerować klucz RSA-4096, wprowadź poniższe polecenie i naciśnij Enter:
    ssh-keygen -t rsa -b 4096
  • Aby wygenerować klucz Ed25519, wprowadź polecenie:
    ssh-keygen -t ed25519
  • Możesz również dodać swój adres e-mail na końcu polecenia. Będzie to komentarz ułatwiający identyfikację, który klucz należy do którego konta, szczególnie w przypadku tworzenia wielu kluczy dla różnych serwisów. Na przykład: ssh-keygen -t rsa -b 4096 -C „[email protected]„.
  • Wskaż lokalizację zapisu klucza, lub naciśnij Enter, aby zastosować lokalizację domyślną.
  • Terminal poprosi Cię o ustawienie hasła. Jest to opcjonalne, więc jeśli wolisz, możesz pozostawić to pole puste, zatwierdzając wybór klawiszem Enter.
  • Na koniec zostanie wyświetlona informacja o lokalizacji i odcisku palca wygenerowanego klucza SSH. Możesz go użyć do zabezpieczania połączeń między Twoim komputerem a zdalnymi serwerami.

    Czym różnią się klucze RSA od Ed25519?

    W procesie generowania kluczy SSH wspomnieliśmy o dwóch rodzajach: RSA i Ed25519. Jakie są między nimi różnice?

  • Algorytm: RSA (Rivest-Shamir-Adleman) działa na zasadzie szyfrowania asymetrycznego, podczas gdy Ed25519 wykorzystuje połączenie krzywych eliptycznych i szyfrowania asymetrycznego.
  • Rozmiar klucza: Klucze RSA mogą mieć różną długość – od 1024 do 4096 bitów. Ed25519 ma stały rozmiar 256 bitów, co czyni go szybszym niż RSA.
  • Bezpieczeństwo: Ed25519 jest ogólnie uważany za bezpieczniejszy i bardziej odporny na różnego rodzaju ataki.
  • Wydajność: Ed25519 jest bardziej wydajny i szybszy w działaniu niż RSA.
  • Kompatybilność: RSA jest szerzej obsługiwane, jednak popularność Ed25519 systematycznie wzrasta.
  • Ostatecznie, wybór algorytmu kryptograficznego zależy od używanych systemów. Generowanie kluczy SSH jest łatwe dzięki dostępnym metodom w systemie Windows, a biorąc pod uwagę ryzyko związane z dostępem do zdalnych systemów, warto je wdrożyć.


    newsblog.pl