ssh – logowane bez hasła, czyli certyfikat zamiast hasła

Witam poniżej przedstawiam bardzo skrucone howto opsujące jak można logować się poprzez ssh bez hasła, zamiast którego urzyjemu certyfikatu/klucza RSA.

Generowanie kluczy — publicznego i prywatnego

Klucz publiczny i prywatny generujemy wykonując w katalogu domowym na komputerze z którego będziemy się logować polecenie ssh-keygen:

ssh-keygen -t rsa 


Jak program zapyta nas o plik w który ma być przechowywany klycz to potwierdzamy domyślną lokalizacje, na pytanie o „passphrase” odpowiadamy także Enter’em, oczywiście możemy także podać niepustą passphrase ale wtedy będziemy musieli ją podawać za każdym razem podczas logowania. Niepustą passphrase stosujemy wtedy gdy chcemy użyć klucza nie do logowania bez hasła, a do zwiększenia bezpieczeństwa poprzez wymaganie jednocześnie klucza i hasła.
Po kilkukrotnym naciśnięciu ENTER polecenie to powinno wygenerować dwa pliki. Pierwszy o nazwie „id_rsa” zawiera klucz prywatny, który nie może być nikomu udostępniany. Drugi o nazwie „id_rsa.pub” zawiera klucz publiczny, który wysyłamy na dowolny serwer z którym zamierzamy ustanowić połączenie.

Wysyłanie wygenerowanego klucza publicznego na zdalny server

Wygenerowany klucz publiczny należy teraz dodać do pliku ~/id_rsa.pub na hoście na który zamierzamy się logować, najprościej zrobić to poprzez ssh, przy pomocy poniższego zaklęcia:

cat ~/.ssh/id_rsa.pub | ssh user_name@zdalny_host "cat >> ~/.ssh/authorized_keys"

Po wydaniu tego polecenia server ssh zapyta jeszcze raz o wasze hasło po czym wasz klucz publiczny zostanie dopisany do bazy kluczy publicznych servera i po pomyślnym zakończeniu możecie się już na niego logować baz podawania hasła.

Dodanie kolejnych serwerów

Jeśli chcesz rozszerzyć zbiór serwerów na które będziesz logował się z tej maszyny bez hasła to oczywiście nie generujsze ponownie kluczy, a jedynie powtarzasz krok z wysłaniem już wygenerowanych kluczy na kolejne serwery, osobno dla każdego konta użytkownika na  które będziesz się logował.

1 thoughts on “ssh – logowane bez hasła, czyli certyfikat zamiast hasła

Dodaj komentarz