Jak używać ssh-keygen do generowania klucza SSH?

How Use Ssh Keygen Generate An Ssh Key



SSH lub bezpieczna powłoka jest użytecznym szyfrowanym protokołem do zabezpieczania połączeń między klientem a serwerem dla różnych zadań administracyjnych. Obsługuje różne rodzaje systemów uwierzytelniania. Najczęściej używane jest uwierzytelnianie oparte na kluczu publicznym i uwierzytelnianie oparte na haśle. Uwierzytelnianie oparte na kluczu jest bezpieczniejsze niż uwierzytelnianie oparte na hasłach. Pary kluczy uwierzytelniania dla SSH są generowane przez narzędzie ssh-keygen, które może być używane do różnych celów, takich jak uwierzytelnianie hosta, automatyczne logowanie itp. W tym samouczku pokazano, jak to narzędzie może być używane w Ubuntu.

Składnia:

Składnia tego polecenia podana poniżej. Obsługuje wiele opcji generowania par kluczy uwierzytelniających, które zostały opisane później.







ssh-keygen [-Q] [-b bity] [-Jak to] [-f plik_klucza_wyjściowego] [-m format]

[-t dsa|ekdsa|ecdsa-sk|ed25519|ed25519-sk|Rsa]

[-N nowe_hasło] [-O opcja] [-w dostawca]

Różne opcje ssh-keygen:

Cele używania różnych typów opcji ssh-keygen są wyjaśnione poniżej.



Opcja Cel, powód
-DO Generuje klucze hosta z domyślną ścieżką pliku klucza, pustym hasłem, domyślnymi bitami typu klucza i komentarzem.
-b bity Służy do określenia liczby bitów w kluczu, który zostanie utworzony.
-Jak to Służy do definiowania nowego komentarza.
-C Służy do żądania zmiany komentarza w plikach kluczy publicznych i prywatnych.
-E fingerprint_hash Służy do zdefiniowania algorytmu skrótu, który będzie używany do wyświetlania odcisków palców.
-I Służy do odczytywania pliku klucza prywatnego lub publicznego i drukowania na standardowe wyjście.
-F nazwa hosta | [nazwa hosta]: port Służy do wyszukiwania konkretnej nazwy hosta z opcjonalnym numerem portu w pliku znane_hosty.
-f nazwa pliku Służy do zdefiniowania nazwy pliku klucza.
-H Służy do mieszania pliku znane_hosts. Zastąpi wszystkie nazwy hostów i adresy zaszyfrowanymi reprezentacjami w określonym pliku. Oryginalna treść zostanie przeniesiona do pliku z rozszerzeniem .old.
-i Służy do odczytywania niezaszyfrowanego pliku klucza prywatnego (lub publicznego).
-TEN Służy do drukowania zawartości jednego lub więcej certyfikatów.
-ten Służy do pokazywania odcisku palca określonego pliku klucza publicznego.
-N nowe_hasło Służy do podania nowego hasła.
-P hasło Służy do podania starego hasła.
-t dsa | ekdsa | ecdsa-sk | ed25519 | ed25519-sk | Rsa Służy do zdefiniowania typu klucza, który zostanie utworzony.

Utwórz klucze za pomocą ssh-keygen:

Możesz tworzyć pary kluczy SSH, uruchamiając ssh-keygen z opcjami lub bez żadnej opcji. W tej części tego samouczka pokazano różne sposoby tworzenia par kluczy SSH. Aby utworzyć klucze, musisz zalogować się na serwer, na którym zainstalowano OpenSSH



Generuj pary kluczy bez żadnej opcji:

Poniższe polecenie utworzy pary kluczy bez użycia żadnej opcji.





$ssh-keygen

Po wykonaniu powyższego polecenia możesz podać nazwę pliku, w którym zostanie zapisany klucz, lub nacisnąć klawisz Enter, aby zapisać domyślną nazwę pliku. Tutaj naciśnięto klawisz Enter. Następnie możesz ponownie nacisnąć klawisz Enter, aby ustawić puste hasło lub ustawić hasło.



Wygeneruj pary kluczy za pomocą jednej opcji:

Następujące polecenie wygeneruje pary kluczy typu rsa wymienionego w poleceniu z opcją -t.

$ssh-keygen -TRsa

Podobnie jak w poprzednim poleceniu, możesz podać nazwę pliku lub użyć domyślnej nazwy pliku do przechowywania par kluczy i ustawić hasło lub puste hasło dla połączenia SSH.

Wygeneruj pary kluczy z wieloma opcjami:

Uruchom następujące polecenie, aby wygenerować pary kluczy typu rsa z 2000 bitami i wartością komentarza,[e-mail chroniony].

$ssh-keygen -TRsa-b 2000 -C ' [zabezpieczone wiadomości e-mail] '

Podobnie jak w poprzednim poleceniu, możesz podać nazwę pliku lub użyć domyślnej nazwy pliku do przechowywania par kluczy i ustawić hasło lub puste hasło dla połączenia SSH. Jeśli wygenerowałeś pliki klucza przed wykonaniem powyższego polecenia, poprosi Cię o nadpisanie pliku klucza, czy nie. Jeśli wpiszesz „y”, nadpisze poprzednio wygenerowany plik nowymi kluczami.

Skopiuj klucz publiczny na serwer:

Uruchom następujące polecenie z komputera serwera, aby dodać klucz publiczny do komputera serwera. Polecenie skopiuje klucz na serwer i skonfiguruje go tak, aby dodać klucz do pliku autoryzowanych_kluczy w celu uzyskania dostępu do serwera.

$ssh-copy-id-i~/.ssh/id_rsa fahmida@fahmida-VirtualBox

Następujące dane wyjściowe pojawią się, jeśli klucz publiczny nie został wcześniej dodany do maszyny serwera.

Zmodyfikuj plik konfiguracyjny serwera:

Musisz włączyć niektóre opcje w pliku konfiguracyjnym serwera, jeśli chcesz ustawić uwierzytelnianie oparte na hasłach i zezwolić na logowanie użytkownika root na serwerze. Ścieżka pliku konfiguracyjnego SSH serwera to /etc/ssh/sshd_config. Otwórz plik w dowolnym edytorze tekstu. Uruchom następujące polecenie, aby edytować plik w edytorze nano.

$sudo nano /itp/cisza/sshd_config

Dodaj lub zmodyfikuj plik za pomocą następujących wierszy, aby włączyć uwierzytelnianie oparte na hasłach i ustawić uprawnienia do logowania użytkownika root.

Uwierzytelnianie hasłemtak

ZezwolenieRootZalogujtak

Zapisz i zamknij plik. Uruchom następujące polecenie, aby ponownie uruchomić usługę SSH.

$sudorestart systemctlcisza

Zaloguj się z klienta SSH:

Zaloguj się do komputera klienckiego, z którego chcesz połączyć się z serwerem, aby sprawdzić, czy działa połączenie SSH. Otwórz terminal i uruchom następujące polecenie, aby dodać tożsamość serwera.

$ssh-dodaj

Uruchom następujące polecenie ssh, aby połączyć się z komputerem serwera z komputera klienta. Uwierzytelnianie hasłem i logowanie roota zostały włączone w pliku konfiguracyjnym SSH serwera w poprzedniej części tego samouczka. Tak więc użytkownik musi podać prawidłowe hasło roota serwera, aby pomyślnie nawiązać połączenie SSH.

$cisza <dohref='mailto: [email chroniony]'>fahmida@10.0.2.15

Poniższe podobne dane wyjściowe pojawią się po nawiązaniu połączenia SSH z serwerem od klienta.

Wniosek:

Ssh-keygen używany do generowania pary kluczy SSH na różne sposoby został wyjaśniony w tym samouczku. Mam nadzieję, że użytkownik Ubuntu wygeneruje klucze SSH za pomocą ssh-keygen do nawiązania połączenia SSH po przeczytaniu tego samouczka.