Jak generować klucze SSH w systemach Windows, Mac i Linux?

Jeśli chcesz połączyć się zdalnie z komputerem, jedną z najlepszych i najbezpieczniejszych metod jest użycie połączenia Secure Shell ( SSH ). Tworzy to zaszyfrowane połączenie między Tobą a zdalnym hostem, dzięki czemu przesyłane dane nie mogą być w żaden sposób przechwycone ani monitorowane. 

Możesz użyć SSH jako tunelu również dla innego ruchu, na przykład bezpiecznego połączenia VNC przez SSH(secure VNC connection over SSH) . Jednym ze sposobów na zwiększenie bezpieczeństwa połączeń SSH jest użycie kluczy SSH , które zastępują potencjalnie łatwe do złamania hasła 617-cyfrowym kluczem szyfrowania. Oto, jak wygenerować nowe klucze SSH na komputerach z (SSH)systemami Windows(Windows) , Mac i Linux .

Co to są klucze SSH?(What Are SSH Keys?)

Klucze SSH(SSH) umożliwiają tworzenie bezpiecznych połączeń ze zdalnymi serwerami lub komputerami bez użycia hasła przy użyciu protokołu Secure Shell . Klucze SSH(SSH) są tworzone w parach, przy czym klucz prywatny i klucz publiczny pozostają połączone — jednego nie można używać bez drugiego.

W większości przypadków klucz publiczny pozostaje na zdalnym komputerze lub serwerze w celu zaszyfrowania połączenia. Klucz prywatny jest następnie używany do uwierzytelniania na tym zdalnym urządzeniu, umożliwiając połączenie i korzystanie z niego bez podawania hasła. 

Klucze publiczne(Public) i prywatne SSH to dwie części tej samej całości – bez klucza prywatnego nie można uwierzytelnić się kluczem publicznym i nawiązać połączenia, a bez klucza publicznego klucz prywatny jest bezużyteczny. Możesz wygenerować nowe klucze SSH w (SSH)systemach Windows(Windows) , Mac i Linux , a następnie przenieść klucz publiczny(public ) na urządzenie zdalne.

Klucz prywatny(private) jest następnie bezpiecznie przechowywany na komputerze PC lub Mac . Ważne jest, aby bezpiecznie zapisać kopię tego klucza (na przykład za pomocą menedżera haseł(password manager) ). Jeśli go zgubisz, możesz nie być w stanie ponownie nawiązać zdalnych połączeń. 

Ważne jest również, aby nie udostępniać innym swojego klucza publicznego ani prywatnego, ale zwłaszcza klucza prywatnego (lub hasła, które może go odszyfrować). Mając do dyspozycji klucz prywatny, nieuczciwy użytkownik będzie mógł nawiązać połączenie z Twoim zdalnym urządzeniem bez konieczności dodatkowego uwierzytelniania.

Jak używać systemu Windows do generowania kluczy SSH?(How to Use Windows to Generate SSH Keys)

Możesz użyć systemu Windows(Windows) do wygenerowania kluczy SSH za pomocą wbudowanego klienta OpenSSH lub popularnego klienta (OpenSSH)PuTTY innej firmy. Jeśli wolisz używać graficznego interfejsu użytkownika ( GUI ) do tworzenia nowych kluczy SSH , najlepszą opcją jest PuTTY . Jeśli wolisz używać wbudowanego oprogramowania, użyj zamiast tego OpenSSH (poprzez Windows PowerShell ).

Korzystanie z OpenSSH przez Windows PowerShell(Using OpenSSH via Windows PowerShell)

  1. Jeśli chcesz używać OpenSSH , musisz najpierw sprawdzić, czy jest włączony. Aby to zrobić, kliknij prawym przyciskiem myszy menu Start i wybierz Ustawienia(Settings) .

  1. W menu Ustawienia(Settings) wybierz Aplikacje(Apps ) > Aplikacje i funkcje(Apps & features ) > Funkcje opcjonalne(Optional features) .

  1. Przejrzyj menu Opcjonalne funkcje(Optional features) dla wpisu klienta OpenSSH . (OpenSSH Client)Jeśli go tam nie ma, wybierz Dodaj funkcję(Add a feature) .

  1. Wybierz opcję Klient OpenSSH(OpenSSH Client ) , a następnie wybierz Zainstaluj(Install) , aby go zainstalować. Poczekaj chwilę, aż system Windows(Windows) zainstaluje wymagane oprogramowanie. Jeśli chcesz używać SSH do łączenia się z komputerem z systemem Windows(Windows) , wybierz również opcję OpenSSH Server .

  1. Po zainstalowaniu OpenSSH kliknij prawym przyciskiem myszy menu (OpenSSH)Start i wybierz Windows PowerShell (Admin) .

  1. W nowym oknie Windows PowerShell wpisz ssh-keygen i wybierz klawisz Enter . Możesz w tym momencie wpisać nową lokalizację zapisu i nazwę pliku dla swojego klucza lub po prostu nacisnąć Enter po raz drugi, aby zapisać pliki w folderze C:\Users\user\.ssh\ (zastępując użytkownika(user) własnym katalogiem użytkownika).

    Narzędzie ssh-keygen będzie domyślnie używać szyfrowania RSA , ale możesz przełączyć się na inną formę szyfrowania, wpisując zamiast tego metodę (method )ssh-keygen -t , zastępując metodę(method) jedną z dostępnych opcji szyfrowania ( dsa, ecdsa, ed25519, rsa ).

  1. Następnie będziesz musiał wprowadzić hasło. To szyfruje klucz prywatny na komputerze i jest zwykle zalecane, chociaż nie jest wymagane. Możesz użyć łatwego do zapamiętania słowa lub frazy, ale możesz też użyć tutaj bezpiecznego hasła(use a secure password) . Wpisz(Type) swoje hasło i wybierz Enter , aby potwierdzić, lub po prostu pozostaw je puste i wybierz Enter , aby pozostawić puste.

  1. Po dodaniu hasła system Windows(Windows) wygeneruje wymagane klucze w folderze C:\Users\user\.ssh\ (zastępując użytkownika(user) własną nazwą folderu użytkownika). Jeśli zdecydujesz się użyć domyślnej nazwy pliku, plik id_rsa.pub jest Twoim kluczem publicznym, a id_rsa (bez rozszerzenia) jest Twoim kluczem prywatnym. Po wygenerowaniu kluczy musisz przenieść swój publiczny klucz ( id_rsa.pub ) do katalogu .ssh na zdalnym komputerze PC, Mac lub serwerze.

Korzystanie z PuTTY(Using PuTTY)

Dobrze znany klient PuTTY SSH jest domyślnym klientem dla większości użytkowników systemu Windows(Windows) . Zawiera kilka innych narzędzi do nawiązywania połączeń SSH , w tym PuTTYgen , narzędzie do generowania nowych kluczy SSH .

  1. Aby użyć PuTTY do generowania kluczy SSH , pobierz PuTTY na swój komputer(download PuTTY for your PC) i zainstaluj go. Po zainstalowaniu uruchom PuTTYgen (dołączone narzędzie do generowania SSH ) z menu Start , wybierz RSA z Typ klucza do wygenerowania(Type of key to generate) opcji, a następnie wybierz Generuj(Generate) . Możesz także wybrać jedną z alternatywnych opcji szyfrowania, ale poniższe kroki mogą się różnić.

  1. Częścią procesu generowania kluczy jest losowe poruszanie myszą. Użyj myszy lub gładzika, aby to zrobić w obszarze bezpośrednio pod paskiem postępu, aż zostanie wygenerowana para kluczy.

  1. Jeśli chcesz dodać hasło do swoich kluczy, wpisz je w polach Hasło klucza(Key passphrase ) i Potwierdź hasło(Confirm passphrase) , a następnie wybierz Zapisz klucz publiczny(Save public key) i Zapisz klucz prywatny,(Save private key) aby zapisać klucze. Możesz także zaznaczyć tekst w kluczu publicznym do wklejenia w polu Author_keys OpenSSH(Public key for pasting into OpenSSH authorized_keys ) , a następnie kliknąć prawym przyciskiem myszy i wybrać Kopiuj(Copy) , aby ręcznie skopiować i wkleić do pliku.

  1. Po zapisaniu kluczy możesz przenieść klucz publiczny(public key ) na zdalny komputer PC, Mac lub serwer. W przypadku klucza prywatnego(private key) może być konieczne przeniesienie go do folderu C:\Users\user\.ssh\ (zastępując użytkownika(user ) właściwym katalogiem użytkownika), aby używać go z preferowanym klientem SSH .

Jak generować klucze SSH w systemie Linux lub Mac?(How to Generate SSH Keys on Linux or Mac)

OpenSSH to złoty standard zestawu narzędzi do zarządzania SSH i, podobnie jak wersja Windows , narzędzie (Windows)ssh-keygen pozostaje najlepszym sposobem generowania nowych kluczy SSH na (SSH)komputerach Mac(Mac) lub Linux .

W konsekwencji narzędzia GUI do generowania kluczy SSH są rzadkie i zazwyczaj nie są zalecane. Ponieważ narzędzia OpenSSH są dołączone do wszystkich komputerów Mac i prawie wszystkich dystrybucji Linuksa(all Linux distributions) , poniższe kroki powinny działać na obu platformach.

  1. Aby rozpocząć, otwórz nowe okno terminala na komputerze z systemem Linux lub Mac . Jeśli chcesz używać komputera Mac do generowania kluczy SSH , możesz uruchomić aplikację Terminal za pomocą Launchpada(Launchpad) . Kroki otwierania nowego terminala na komputerze z systemem Linux(Linux) będą się różnić w zależności od dystrybucji.

  1. W nowym oknie terminala na komputerze z systemem Linux lub Mac wpisz ssh-keygen i wybierz klawisz Enter . Podobnie jak w przypadku ssh-keygen w systemie Windows(Windows) , wersja dla systemów Linux(Linux) i Mac domyślnie używa szyfrowania RSA . Jeśli wolisz użyć innej formy szyfrowania, wpisz metodę ssh-keygen -t,(ssh-keygen -t method, ) zastępując metodę(method) formą szyfrowania, której chcesz użyć (np. dsa, ecdsa, ed25519, rsa ).

  1. Następnie musisz określić, gdzie chcesz zapisać nowe klucze SSH — domyślna nazwa pliku i lokalizacja będą wyświetlane w okrągłych nawiasach w oknie terminala. Jeśli chcesz zapisać klucze w innym miejscu i pod inną nazwą pliku, wpisz tutaj nową lokalizację i nazwę pliku, a następnie wybierz klawisz Enter .

  1. Następnie musisz wpisać hasło, aby zaszyfrować swój klucz prywatny (jeśli chcesz go użyć). Wpisz hasło dwukrotnie lub dwukrotnie wybierz Enter , aby pozostawić hasło puste (chociaż nie jest to zalecane).

  1. W tym momencie klucze SSH zostaną wygenerowane w określonej lokalizacji zapisu i przy użyciu domyślnej nazwy pliku id_rsa dla szyfrowania RSA ( id_rsa.pub dla klucza publicznego i id_rsa dla klucza prywatnego). Musisz przenieść swój klucz publiczny ( id_rsa.pub ) na zdalny komputer PC, Mac lub serwer, aby móc nawiązać połączenie za pomocą SSH .

Nawiązywanie bezpiecznych połączeń za pomocą SSH(Making Secure Connections Using SSH)

Po wygenerowaniu kluczy SSH musisz skopiować klucz publiczny na zdalny komputer PC, Mac lub serwer. Łączy się to z Twoim kluczem prywatnym, który umożliwia preferowanemu klientowi SSH nawiązywanie bezpiecznych połączeń (SSH)SSH bez typowego hasła. Na przykład możesz użyć SSH, aby połączyć się zdalnie z innym komputerem Mac(use SSH to connect to another Mac remotely) .

Bezpieczne połączenia SSH(Secure SSH) mogą również pomóc ominąć zaporę sieciową w szkole lub miejscu pracy(get around a school or workplace firewall) za pomocą tunelu SSH . Możesz także użyć SSH , aby połączyć się (i zaktualizować) Raspberry Pi(connect to (and update) a Raspberry Pi) lub inne komputery i serwery z systemem Linux. Musisz jednak upewnić się, że włączyłeś serwer OpenSSH , jeśli chcesz to zrobić w systemie Windows 10(Windows 10) .



About the author

inżynier audiofilski i specjalista ds. produktów audio z ponad 10-letnim doświadczeniem. Specjalizuję się w tworzeniu wysokiej jakości głośników muzycznych i słuchawek od początku do końca. Jestem ekspertem w rozwiązywaniu problemów z dźwiękiem oraz projektowaniu nowych głośników i systemów słuchawkowych. Moje doświadczenie wykracza poza samo tworzenie dobrych produktów; Mam również pasję pomagania innym w byciu jak najlepszymi, czy to poprzez edukację, czy pracę społeczną.



Related posts