SSH bez hasła przy użyciu puttygen i putty

ssh

Skoro ostatni wpis z tej tematyki był dla platformy Linux – wartoby zrobić też wersję dla nie ma co się oszukiwać – bardziej popularnego systemu operacyjnego. Tak jak wcześniej naszym celem będzie logowanie się do zdalnego systemu linuxowego przy pomocy szyfrowanego połączenia Secure Shell (SSH), bez konieczności podawania hasła. Tym razem jednak pokażę jak tą operację wykonać na platformie Windows (7).

Jak jak w poprzednim wypadku cała operacja nie jest skomplikowana i sprowadza się ronież do trzech podstawowych punktów:

1) wygenerowanie pary kluczy (klucz prywatny oraz klucz publiczny)
2) skopiowanie wygenerowanego klucza publicznego na komputer zdalny
3) odpowiednie skonfigurowanie programu putty <<download>> 

A wyglada to tak:

1) Generowanie pary kluczy 

Aby wygenerować parę kluczy będziemy potrzebować dodatku do aplikacji putty pod nazwą puttygen <<download>>

Po ściągnięciu i włączeniu puttygen musimy ustawić 2 rzeczy:

a) typ generowanego klucza (1) – powinieneś wybrać jeden z dwóch typów: SSH-2 RSA lub SSH-2 DSA
b) ilość generowanych bitów (2) – tutaj zaleca się wartość równą lub wyższą liczbie 2048. Generalnie im więcej tym lepiej aczkolwiek większa ilość bitów znacząco wydłuży proces generowania kluczy.

Po dokonaniu wyboru typu klucza oraz ilości bitów w generowanych kluczach, klikamy przycisk Generate (3).

Teraz najmniej przyjemna rzecz – „machanie” myszką! 🙂
Aby nasz klucz zawierał najbardizej losowe dane jak to tylko możliwe konieczne jest aby podczas generowania pary kluczy „jeździć” kursowem po wyznaczonym polu (4). Przy wybraniu typu klucza SSH-2 DSA oraz bitów w ilośći 4096, chwilę trzeba było się namachać… ale czego się nie robi dla bezpieczeństwa 🙂

W efekecie naszych powyższych operacji doszyliśmy do momentu kiedy nasze klucze są już gotowe:


puttygen2W oknie aplikjacji puttygen otrzymaliśmy kilka informacji:

a) nasz klucz publiczny
b) „Odcisk Palca” naszego klucza
c) opcjonalny komentarz – w standardzie ustawia się z szablonu – typ_klucza-ROK-MIESIAC-DZIEN.
d) hasło do klucza (5)- tutaj oczywiśćie nic nie ustawiamy z uwagi na to, że chcemy logować się bez hasła 🙂

 

Pozostało nam zapisanie nowo wygenerowanych kluczy (6),(7). Klucz publiczny(6) zapisujemy w dogodnym miejscu np. na pulpicie – będzie nam zaraz potrzebny.

klucz_pub

Klucz prywatny (7) natomiast zapisujemy w naszym tajnym miejscu na dysku – na podstawie tego klucza nasz zdalny serwer będzie wiedział, że to my chcemy się z nim połączyć. Osoba, która posiada ten plik ma możliwość „bez hasłowego” logowania się do naszego zdalnego serwera. Ścieżka do tego pliku także będzie nam zaraz potrzebna.

klucz_prv

 

2) Skopiowanie i instalacja publicznego klucza na komputerz zdalnym

Skoro mamy już wszystko wygenerowane musimy teraz przenieść i zainstalować nasz klucz publiczny na serwerze (ja do przeniesienia pliku do katalogu domowego użytkownika użyłemn  klienta FTP).

a) Logujemy się na nasz serwer zdalny przy użyciu ssh (putty) , na użytkownika dla którego chcemy włączyć bez hasłowe logowanie.

b) Wydajemy polecenie, które przekonwertuje nam nasz plik na format bardziej przyjazny dla systemu linux:

ssh-keygen -if serwer-pub > serwer-pub.openssh

c) Zmieniamy prawa dostępu do katalogu .ssh:

chmod 700 .ssh

d) Kopiujemy nasz klucz publiczny(openssh_format) do pliku .ssh/authorized_key :

cat serwer-pub.openssh >> .ssh/authorized_keys

e) Kasujemy skopiowane pliki poleceniem rm:

rm serwer-pub
rm serwer-pub.openssh

f) Ponownie zmieniamy prawa dostępu katalogu .ssh:

chmod 600 .ssh/authorized_keys

3) Końcowa konfiguracja klienta putty do współpracy z naszym kluczem

Na sam koniec pozostyała nam tylko szybka konfiguracja naszego klienta ssh:

Przechodzimy do głównego okna gdzie wpisujemy dane (lub wybieramy juz wczesniej zapisane) (1):

ssh_conf

 

Następnie przechodzimy do zakładki Connection -> Data (2) i w polu Login details wpisujemy nazwę uzytkownika na którego będziemy się logować na serwerze zdalnym:

ssh_conf2

 

W ostatnim kroku przechodzimy do zakładki (3Connections -> SSH ->Auth i w polu Private kay file for autentication  podajemy ścieżkę do naszego klucza prywatnego:

putty_auth
Zapisujemy profil i od tej pory cieszymy się automatycznym logowaniem do naszego zdalnego serwera 🙂

auth

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *