3 sposoby generowania kluczy SSH w systemie Windows

Opublikowany: 2023-11-19

Jeśli wykonujesz swoją pracę za pośrednictwem przetwarzania w chmurze, uzyskując dostęp do zdalnych serwerów, które nie znajdują się w Twojej obecnej lub domowej sieci, prawdopodobnie znasz już klucze SSH lub Secure Shell. Ponieważ klucze SSH są wielokrotnie bezpieczniejsze niż tradycyjna kombinacja nazwy użytkownika i hasła, często używa się ich do uzyskiwania dostępu do stacji roboczych korzystających z serwerów zdalnych. Klucze SSH zapewniają łatwy i bezpieczny dostęp pracownikom lub innym osobom upoważnionym przez nich do logowania się na serwerze.

generate ssh keys on windows

Kolejną zaletą kluczy SSH jest ich szybkie utworzenie, które można wykonać w ciągu kilku minut i bez skomplikowanych procedur. Wszystko to można zrobić za pomocą prostego komputera z systemem Windows i właśnie to omówimy w tym artykule. Chodźmy!

Spis treści

Co to jest Keygen SSH?

Generatory kluczy SSH można uznać za bardziej wyrafinowaną i znacznie bezpieczniejszą wersję tradycyjnego dostępu za pomocą nazwy użytkownika i hasła. Klucze SSH są generowane indywidualnie dla każdego użytkownika przy użyciu różnych algorytmów i są wysoce losowe, aby zapewnić ochronę danych.

Generatory kluczy SSH są zwykle używane do bezpiecznego dostępu do serwerów w chmurze. Można je jednak wykorzystać także w innych miejscach pracy, aby zapewnić dostęp użytkownikom i pracownikom, np. w centrach danych, firmach i nie tylko. Tworzenie generatora kluczy można wykonać na komputerze z systemem Windows, korzystając z trzech metod opisanych poniżej.

Jak działa generator kluczy SSH?

Zanim nauczysz się tworzyć klucze SSH, ważne jest, aby mieć krótkie pojęcie o ich działaniu. Generując klucze SSH, zasadniczo tworzysz parę kluczy – publiczny i prywatny. Jak sama nazwa wskazuje, kluczy prywatnych nie należy udostępniać innym osobom.

Z kolei klucze publiczne znajdują się na serwerze drugiej strony, niezależnie od tego, czy jest to Twój pracodawca, czy Twoja firma. W ten sposób klucze publiczny i prywatny mogą nawiązać połączenie między komputerem uzyskującym dostęp a serwerem centralnym i komunikować się ze sobą. Jeśli zamek i klucz pasują do siebie, uzyskasz dostęp.

Wygeneruj klucze SSH za pomocą wiersza poleceń

Wiersz poleceń systemu Windows jest najlepszym sposobem na wykonanie takich czynności, ponieważ jest domyślnie wbudowany w system. Tworzenie kluczy SSH zajmuje co najwyżej kilka kroków i nie potrzebujesz żadnych dodatkowych narzędzi.

System Windows 11 jest domyślnie wyposażony w Terminal Windows, ale jeśli używasz starszej wersji, zalecamy pobranie go ze sklepu Microsoft Store. Może uruchamiać wiersz poleceń, program Windows PowerShell i podsystem Windows dla systemu Linux, oferując jednocześnie znacznie czystszy i bardziej przyjazny dla użytkownika interfejs.

  1. Naciśnij klawisz Windows i wyszukaj Terminal . Aby kontynuować korzystanie z wiersza poleceń natywnie, zamiast tego wyszukaj cmd .
    open windows terminal
  2. Wpisz ssh-keygen i naciśnij Enter .
    type ssh keygen
  3. Zostaniesz poproszony o podanie wybranej ścieżki zapisu i nazwy pliku, który ma zostać zapisany. Możesz pominąć pierwszy punkt i zapisać klucze w domyślnej lokalizacji komputera, którą jest zwykle dysk C. Nie martw się; obok niego zostanie wyświetlona lokalizacja pliku.
    enter location pathway
  4. Zostaniesz poproszony o wprowadzenie hasła w celu dodatkowej ochrony. Ponownie nie można zabezpieczyć kluczy hasłem, ale zdecydowanie odradzamy to. Następnie naciśnij klawisz Enter .
    enter passphrase
  5. Wprowadź hasło ponownie, aby je potwierdzić.
    enter passphrase again to confirm it
  6. Pojawi się komunikat potwierdzający, że klucze zostały wygenerowane i zapisane we wskazanej lokalizacji.
    the generated ssh keys

Domyślnie system Windows 11 generuje klucze zgodne z 2048-bitowym algorytmem RSA. Jeśli jednak potrzebujesz kluczy SSH opartych na innym algorytmie, dodaj -t (nazwa algorytmu) po pierwszym poleceniu w drugim kroku. Na przykład GitHub zaleca użycie algorytmu ed25519, więc musisz wpisać ssh-keygen -t ed25519 , aby wygenerować odpowiednie klucze.

ed25519 algorithm

Dodatkowo we wskazanej lokalizacji zapisywany jest nie jeden, a dwa pliki – jeden bez, a drugi z rozszerzeniem .pub. Jak sama nazwa wskazuje, plik z rozszerzeniem .pub jest kluczem publicznym, natomiast plik bez rozszerzenia jest kluczem prywatnym wygenerowanych kluczy SSH. Oczywiście nie wolno udostępniać klucza prywatnego innym osobom.

pair of ssh keys generated

Generuj klucze SSH za pomocą WSL

Jeśli lubisz podążać drogą Linuksa, podsystem Windows dla Linuksa jest dla Ciebie. Choć proces ten jest mniej więcej podobny, zaleca się go osobom dobrze zorientowanym w świecie Linuksa. Jeśli nie, powinieneś trzymać się pierwszej metody.

Warunkiem wstępnym będzie posiadanie podsystemu Windows dla systemu Linux (WSL) na komputerze z systemem Windows 10, który można pobrać ze sklepu Microsoft Store. Użytkownicy systemu Windows 11 nie muszą pobierać narzędzia WSL, ponieważ wbudowany terminal systemu Windows jest dobrze obsługiwany do uruchamiania poleceń WSL w aplikacji. Jak wspomniano powyżej, możesz pobrać Windows Terminal ze sklepu Microsoft Store, jeśli używasz starszej wersji systemu Windows.

  1. Otwórz Terminal Windows . Alternatywnie możesz także otworzyć okno wiersza poleceń w WSL.
    open windows terminal
  2. W przeciwieństwie do pierwszej metody, będziesz musiał podać algorytm kluczy, które mają zostać wygenerowane. Na przykład, aby wygenerować klucz RSA-4096, wpisz ssh-keygen -t rsa -b 4096 „twój@adres e-mail” i naciśnij Enter . Podanie adresu e-mail jest niezbędne dla łatwej identyfikacji. Można go pominąć, jeśli generujesz klucze za pomocą terminala Windows, ponieważ system Windows automatycznie przechwytuje nazwę komputera i nazwę użytkownika.
    enter wsl command
  3. Wprowadź lokalizację pliku, który ma zostać zapisany, i w razie potrzeby podaj hasło. Możesz pozostać przy ustawieniach domyślnych, naciskając Enter .
    enter passphrase
  4. Potwierdź hasło, wpisując je ponownie i naciśnij klawisz Enter .
    confirm your passphrase

Wygeneruj klucze SSH za pomocą PuTTY

Przez lata PuTTY był najlepszym rozwiązaniem do nawiązania komunikacji pomiędzy serwerami i komputerami. Chociaż klient SSH jest nadal w użyciu, nie jest już tak powszechny. Niemniej jednak PuTTY jest nadal wydajnym generatorem kluczy SSH, więc możesz spróbować, jeśli powyższe metody z jakiegoś powodu zawiodą. Przed kontynuowaniem pobierz i skonfiguruj klienta PuTTY dla systemu Windows. PuTTY można także pobrać ze sklepu Microsoft Store.

  1. Naciśnij klawisz Windows i wyszukaj PuTTYgen . Otwórz to.
    open puttygen client
  2. Będziesz musiał wybrać typ kluczy SSH, które mają zostać wygenerowane. Wybierz wymagany typ klucza i wprowadź wartość bitową w sekcji Parametry . Na przykład wybierz RSA i wprowadź 4096 , aby utworzyć klucze typu RSA-4096 . Typ EdDSA można dodatkowo skonfigurować za pomocą menu rozwijanego obok, aby uwzględnić 255 bitów i klucze typu Ed25519 .
    enter ssh key parameters
  3. Wybierz opcję Generuj .
    generate ssh keys
  4. Generator PuTTY poprosi Cię o losowe przesunięcie kursora w pusty obszar, aby zwiększyć losowość klucza, co z kolei zwiększy jego siłę.
    create randomness by moving cursor
  5. Po wygenerowaniu klucza możesz określić hasło . Potwierdź hasło, wpisując je ponownie w następnym polu wejściowym.
    set a passphrase
  6. Kliknij Zapisz klucz publiczny , aby zapisać klucz publiczny w wybranej lokalizacji. Nazwa pliku powinna mieć na końcu rozszerzenie .pub .
    save public key
  7. Zapisz klucz prywatny, klikając Zapisz klucz prywatny . Jeśli nie ustawisz hasła, pojawi się ostrzeżenie; wybierz opcję Tak , aby kontynuować niezależnie.
    save private key

Pamiętaj, że domyślny klucz prywatny działa tylko z zastrzeżonym klientem PuTTY. Jeśli Twoja stacja robocza nie współpracuje z klientem PuTTY, najlepiej jest zatem eksportować w formacie OpenSSH , aby zapewnić uniwersalną kompatybilność. Aby to zrobić, w ostatnim kroku wybierz Konwersje i kliknij przycisk Eksportuj klucz OpenSSH .

Jak wygenerować wiele kluczy?

Jeśli potrzebujesz wielu kluczy SSH do logowania się na różnych serwerach, możesz łatwo wygenerować wiele kluczy. Aby to zrobić, możesz powtórzyć dowolny z powyższych procesów i utworzyć więcej kluczy SSH, ale nie zapomnij odpowiednio oznaczyć nazw plików lub zapisać je pod unikalnymi nazwami, aby uniknąć pomyłek. Aby nie zapomnieć haseł kluczy, spójrz na Najlepsze bezpłatne menedżery haseł, aby zapisać hasła wygenerowanych kluczy.

Pamiętaj, że przy zmianie komputera na nowy komputer musisz przenieść klucze ręcznie. W przeciwnym razie utracisz dostęp do swoich serwerów i lokalizacji. Zawsze możesz wygenerować nowe klucze na swoim nowym komputerze, ale jest to uciążliwe, jeśli masz już obszerną bibliotekę kluczy.

Z łatwością generuj klucze SSH

To wszystko, ludzie! Proces generowania kluczy SSH jest łatwy, a dzięki oficjalnym i zintegrowanym platformom, takim jak Windows Terminal, nie musisz nawet pobierać osobnej aplikacji ani oprogramowania. Inne platformy, takie jak WSL i PuTTY, są równie łatwe w użyciu i skuteczne. Nie zapomnij haseł do kluczy i chroń swoje klucze, nie udostępniając ich innym osobom.

Często zadawane pytania dotyczące generatorów kluczy SSH

1. Co to jest generator kluczy SSH?

Keygen SSH to nowoczesny zamiennik tradycyjnego duetu nazwy użytkownika i hasła. Z technicznego punktu widzenia klucze SSH to klucze wirtualne, które są generowane, dopasowywane i używane w celu uzyskania dostępu do zdalnych platform, witryn i serwerów w chmurze. Składa się z dwóch kluczy – publicznego i prywatnego, z których pierwszy znajduje się na serwerze, natomiast drugi po odpowiednim dopasowaniu zapewnia dostęp.

2. Czy muszę podać hasło?

Nie, domyślnie tworzenie kluczy SSH nie wymaga hasła. Ponieważ jednak klucze SSH są wrażliwe i łatwo można je niewłaściwie wykorzystać, należy zadbać o ich bezpieczne przechowywanie. Pamiętaj: im więcej kluczy SSH utworzysz, tym więcej haseł musisz zapamiętać dla każdego z nich.

3. Dlaczego dla jednego klucza SSH generowane są dwa pliki?

Każdy klucz SSH składa się z pary powiązanych plików. Jeden ma rozszerzenie .pub, a drugi nie ma rozszerzenia. Klucz publiczny działa jak zamek i jest przesyłany do centralnego serwera, do którego chcesz się zalogować, podczas gdy klucz prywatny służy jako dosłowny klucz dostępu do żądanej strony.

4. Jak mogę wygenerować klucze SSH, jeśli jestem przyzwyczajony do Linuksa?

Podsystem Windows dla systemu Linux, w skrócie WSL, umożliwia natywne generowanie kluczy SSH. Ponadto terminal systemu Windows, który obsługuje polecenia WSL, może być również używany do tworzenia kluczy w stylu systemu Linux. Być może będziesz musiał zaplanować kilka dodatkowych kroków, ale zyskasz dodatkowe korzyści w postaci szczegółowej kontroli i znajomości Linuksa.

5. Jak mogę przenieść klucze SSH, jeśli dokonuję aktualizacji do nowego komputera?

Jeśli dokonujesz aktualizacji do nowego komputera i chcesz przenieść klucze SSH, jest tylko jedno wyjście: musisz przenieść je ręcznie na nowy komputer. Jeśli zapomnisz to zrobić, wygenerowane klucze zostaną całkowicie usunięte. Jeżeli nie posiadasz rozbudowanej biblioteki zawierającej wiele kluczy SSH, możesz w każdej chwili utworzyć nowe klucze na swoim nowym komputerze.

6. Jak później zlokalizować klucze SSH?

Niezależnie od tego, czy jest to terminal Windows, czy WSL, zostanie wyświetlona dokładna lokalizacja utworzonego klucza SSH. Jeśli wyjdziesz z programu bez sprawdzenia, będziesz musiał wprowadzić pewne polecenia w terminalu Windows. Wpisz ~/.ssh/id_rsa i ~/.ssh/id_rsa.pub, aby wyszukać prywatne i publiczne klucze SSH, jeśli są dostępne.