Konfiguruj logowanie bez hasła do serwerów za pośrednictwem SSH

Konfiguruj logowanie bez hasła do serwerów za pośrednictwem SSH
Jako administrator systemu Linux, będziesz często konfigurować i poprawić wiele serwerów Linux. Musisz więc SSH na wszystkie te serwery, aby SSH na te serwery, potrzebujesz również haseł logowania dla każdego z serwerów, co jest bardzo mało prawdopodobne. Tak więc sytuacja będzie trudna, ponieważ liczba serwerów, które musisz podawać, rośnie.

Na szczęście istnieje lepsze rozwiązanie. Możesz powiedzieć wszystkim serwerom, które zarządzasz, aby zaufać komputerowi lub laptopowi, którego używasz do podłączenia i konfiguracji. W ten sposób możesz zalogować się do tych serwerów bez hasła lub z tym samym hasłem. W tej metodzie musisz znać hasło logowania tych serwerów tylko raz. Następnie możesz o tym zapomnieć, o ile używasz tego samego komputera lub laptopa do połączenia z tymi serwerami.

W tym artykule pokażę Ci, jak skonfigurować logowanie bez hasła na serwerach za pośrednictwem SSH. Więc zacznijmy.

Topologia sieci:

Tutaj mam 3 serwery w mojej sieci lokalnej Linuxhint-Server1, Linuxhint-Server2, Linuxhint-Server3. Ja jako administrator systemu Linux, używam laptopa Linuxhint-Client który jest również w tej samej sieci. Chcę więc skonfigurować wszystkie serwery w sposób, w jaki mogę uzyskać dostęp do wszystkich tych serwerów z mojego laptopa Linuxhint-Client bez hasła. Zobaczmy więc, jak zostanie to skonfigurowane w następnych sekcjach.

Generowanie kluczy SSH na kliencie:

Kluczową ideą jest to, że generujesz klucz SSH na komputerze lub laptopie, z którego chcesz uzyskać dostęp do wszystkich serwerów. Następnie prześlij klawisz SSH do serwerów z komputera lub laptopa.

Aby wygenerować klucz SSH na komputerze lub laptopie, z którego chcesz podłączyć się do serwerów, uruchom następujące polecenie:

$ ssh-keygen

Teraz naciśnij kontynuować.

Teraz możesz ustawić hasło do swojego klucza SSH. Jest to opcjonalne. Niezależnie od tego, czy skonfigurowałeś hasło do swojego klucza SSH, czy nie, zależy od tego, jak chcesz skonfigurować dostęp do serwerów. Jeśli nie ustawisz tutaj hasła do klucza SSH, nie będziesz potrzebować hasła do SSH na serwerach. Jeśli ustawisz hasło tutaj, musisz wprowadzić to samo hasło za każdym razem, gdy łączysz się z dowolnym serwerami. Więc to zależy od Ciebie. W tym artykule nie będę ustawić hasła do klucza SSH.

Jeśli chcesz skonfigurować hasło, po prostu wpisz hasło i naciśnij . W przeciwnym razie zostaw to puste i naciśnij .

Jeśli ustawiłeś hasło wcześniej, po prostu wpisz to samo hasło i naciśnij . W przeciwnym razie po prostu naciśnij bez wpisywania niczego.

Należy wygenerować klucz SSH.

Domyślnie, ssh-keygen generuje klucz RSA o długości 2048 bitów. Ale jeśli chcesz zmienić typ i długość klucza, możesz użyć opcji -t i -b ssh-keygen następująco:

$ ssh -keygen -t key_type -b bit_length

Obecnie obsługiwane typ klucza Jest RSA, DSA, Ecdsa, I ED25519 i bit_length może być 2048, 4096 i tak dalej.

Przesyłanie klucza SSH do serwerów:

Teraz musisz przesłać klawisz SSH, który właśnie wygenerowałeś na komputerze lub laptopie na serwery. W tym celu musisz mieć zainstalowane oprogramowanie SSH Server (OpenSsh-Server) na każdym z serwerów i musisz być w stanie zalogować się do serwerów za pośrednictwem SSH.

Do zalogowania się do Linuxhint-Server1 przez SSH potrzebujesz adresu IP Linuxhint-Server1 serwer. Aby to zrobić, uruchom następujące polecenie na Linuxhint-Server1 serwer.

$ ip a

Jak widać, adres IP Linuxhint-Server1 Jest 192.168.21.203.

Teraz z Linuxhint-Client, Prześlij klucz SSH do Linuxhint-Server1 następująco:

$ ssh-copy-id [email protected]

Teraz wpisz Tak i naciśnij .

Teraz wpisz hasło logowania Linuxhint-Server1 serwer i naciśnij .

Klucz SSH powinien zostać przesłany na serwer Linuxhint-Server1.

W ten sam sposób, prześlij klucz SSH do Linuxhint-Server2 również.

$ ssh-copy-id [email protected]

Prześlij klucz SSH do Linuxhint-Server3 również.

$ ssh-copy-id [email protected]

SSH w serwerach bez hasła:

Teraz powinieneś mieć dostęp do wszystkich serwerów za pośrednictwem SSH bez hasła.

Spróbujmy uzyskać dostęp do serwera Linuxhint-Server1:

$ ssh [email protected]

Jak widać, nie skłoniło mnie do hasła. Zamiast tego zostałem zalogowany bezpośrednio do konsoli Linuxhint-Server1.

Mogę również zalogować się do Linuxhint-Server2 serwer bez hasła, jak widać na zrzucie ekranu poniżej.

$ ssh [email protected]

Jak widać, mogę też ssh Linuxhint-Server3 serwer również. Świetnie!

Tak więc konfigurujesz login bez hasła do serwerów Linux za pośrednictwem SSH. Dziękujemy za przeczytanie tego artykułu.