Jak używać SSH-KeyGen do generowania klucza SSH

Jak używać SSH-KeyGen do generowania klucza SSH

SSH lub bezpieczna powłoka jest użytecznym zaszyfrowanym protokołem do zabezpieczenia połączeń między klientem a serwerem dla różnych zadań administracyjnych. Obsługuje różne rodzaje systemów uwierzytelniania. Uwierzytelnianie i uwierzytelnianie haseł są głównie używane. 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żna używać do różnych celów, takich jak uwierzytelnianie hosta, automatyzacja logowania itp. W tym samouczku można użyć tego narzędzia w Ubuntu.

Składnia:

Składnia tego polecenia podano poniżej. Obsługuje wiele opcji generowania par klawiszy uwierzytelniania, które zostały opisane później.

ssh-keygen [-q] [-b bity] [-c komentarz] [-f output_keyFile] [-m format]
[-t DSA | Ecdsa | Ecdsa-sk | ED25519 | ED25519-SK | RSA]
[-N new_passPhrase] [-o opcja] [-w dostawca]

Różne opcje ssh-keygen:

Cele korzystania z różnych rodzajów opcji SSH-KeyGen wyjaśniono poniżej.

Opcja Zamiar
-A Generuje klawisze hosta z domyślną ścieżką pliku klucza, pustą hasłem, domyślnymi bitami dla typu klucza i komentarza.
-B bity Służy do zdefiniowania liczby bitów w kluczu, który zostanie utworzony.
-C Komentarz Służy do zdefiniowania nowego komentarza.
-C Służy do żądania zmiany komentarza plików kluczy publicznych i prywatnych.
-E Pedent Pedent_hash Służy do zdefiniowania algorytmu skrótu, który zostanie użyty do wyświetlania odcisków palców.
-mi Służy do odczytania pliku prywatnego lub publicznego i drukowania na stdout.
-F hostName | [nazwa hosta]: port Służy do wyszukiwania konkretnej nazwy hosta z opcjonalnym numerem portu w pliku znanym_hosts.
-f nazwa pliku Służy do zdefiniowania nazwy pliku klucza.
-H Służy do haszu znanego pliku_hosts. Zastąpi wszystkie nazwy hosta i adresy na reprezentacje Hashed w określonym pliku. Oryginalna treść zostanie przeniesiona do pliku z .stary sufiks.
-I Służy do odczytania niezaszyfrowanego prywatnego (lub publicznego) pliku klucza.
-L Służy do drukowania zawartości jednego lub więcej certyfikatów.
-L Służy do pokazania odcisku palca określonego pliku klucza publicznego.
-N New_PassPhrase Służy do dostarczenia nowej hasła.
-Passówka P Służy do zapewnienia starej hasła.
-T DSA | Ecdsa | Ecdsa-sk | ED25519 | ED25519-SK | RSA Służy do zdefiniowania rodzaju klucza, który zostanie utworzony.

Utwórz klucze za pomocą SSH-KeyGen:

Możesz tworzyć pary klawiszy SSH, uruchamiając SSH-KeyGen z opcjami lub bez żadnej opcji. Różne sposoby tworzenia par kluczy SSH pokazano w tej części tego samouczka. Musisz zalogować się na komputerze serwerowym, gdzie zainstalował OpenSSH, aby utworzyć klawisze

Wygeneruj pary kluczowe bez żadnej opcji:

Następujące polecenie utworzy pary kluczy bez użycia żadnej opcji.

$ ssh-keygen

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

Wygeneruj pary kluczy z jedną opcją:

Poniższe polecenie wygeneruje pary kluczowe typu RSA wymienione w poleceniu z opcją -t.

$ ssh -keygen -t rsa

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

Wygeneruj pary kluczowe z wieloma opcjami:

Uruchom następujące polecenie, aby wygenerować pary kluczowe typu RSA z 2000 bitami i wartością komentarza: „[email protected] ”.

$ ssh -keygen -t rsa -b 2000 -c "poczta: [email protected] "> [email protected] "

Podobnie jak poprzednie polecenie, możesz podać nazwę pliku lub użyć domyślnej nazwy pliku do przechowywania par kluczowych i ustawić hasło lub puste hasło do połączenia SSH. Jeśli wygenerowałeś pliki kluczowe przed wykonaniem powyższego polecenia, poprosi Cię o zastąpienie pliku klucza, czy nie. Jeśli wpiszesz „y”, to zastąpi wcześniej wygenerowany plik za pomocą nowych klawiszy.

Skopiuj klucz publiczny do serwera:

Uruchom następujące polecenie z komputera serwerowego, aby dodać klucz publiczny do komputera serwerowego. Polecenie skopiuje klucz do serwera i skonfiguruje go, aby dodać klucz do pliku autoryzowanego_keys, aby uzyskać dostęp do serwera.

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

Pojawi się następujące dane wyjściowe, jeśli klucz publiczny nie dodał wcześniej do komputera serwerowego.

Zmodyfikuj plik konfiguracyjny serwera:

Musisz włączyć niektóre opcje w pliku konfiguracyjnym komputera serwerowego, jeśli chcesz ustawić uwierzytelnianie oparte na hasła. Ścieżka pliku konfiguracyjnego serwera SSH to/etc/ssh/sshd_config. Otwórz plik w dowolnym edytorze tekstu. Uruchom następujące polecenie, aby edytować plik w Nano Editor.

$ sudo nano/etc/ssh/sshd_config

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

HasłoAuthentication Tak
Pertrootlogin Tak

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

$ sudo systemctl restart ssh

Zaloguj się od klienta SSH:

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

$ ssh-add

Uruchom następujące polecenie SSH, aby połączyć się z komputerem serwerowym z komputera klienta. Uwierzytelnianie hasła i logowanie root 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 root komputer serwer.

$ ssh [email protected]

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

Wniosek:

SSH-Keygen używa do generowania pary kluczy SSH na różne sposoby w tym samouczku. Mam nadzieję, że użytkownik Ubuntu wygeneruje klucze SSH za pomocą SSH-Keygen do ustanowienia połączenia SSH po przeczytaniu tego samouczka.