Logowanie przez putty (ssh) bez użycia hasła
Protokół ssh oferuje kilka metod uwierzytelniania użytkowników. Poza najbardziej popularnym: login i hasło mamy możliwość skorzystania z certyfikatów, które są parą kluczy (prywatną i publiczną).
Podczas procesu autoryzacji, serwer dysponując kluczem publicznym, tworzy tzw. challenge, który tylko użytkownik posiadający klucz prywatny tej samej pary, ma możliwość odszyfrować i potwierdzić
swoją tożsamość. Rozwiązanie to ma swoje zalety jak i wady z przewagą zalet.
ZALETY:
- Jesteśmy zabezpieczeni przed keylogger-ami.
- Ktoś podsłucha sesję, co jest dużo trudniejsze ale możliwe. Przy kolejnym połączeniu serwer wygeneruje inny challenge i niestety nasz włamywacz-amator nie dysponując kluczem prywatnym nie będzie w stanie wygenerować poprawnej odpowiedzi, a nagrana wcześniej nie będzie prawidłowa.
- Metoda "siłowa" jest praktycznie niemożliwa.
Wada jest chyba tylko jedna, mianowicie istnieje ewentualność fizycznego, rzadziej zdalnego przejęcia klucza prywatnego z maszyny klienckiej. Tyle teorii, przejdźmy do rzeczy.
Następujące czynności wykonujemy na windowsie
- Ściągamy i uruchamiamy program puttygen
- Zaznaczamy opcję: (x) SSH-2 RSA (długość klucza wybieramy pod własne potrzeby ale nie mniej niż 1024), klikamy generate po czym machamy myszką po pustym polu (to nie żart, naprawdę trzeba nią machać)
- Zapisujemy klucz prywatny w znanym Ci tylko miejscu (będzie on używany przez putty)
-
Następujące czynności wykonujemy na serwerze
- Zapisujemy klucz publiczny a następnie przenosimy go na serwer
- Już na serwerze konwertujemy nasz klucz do formatu openssh poleceniem:
ssh-keygen -if klucz_publiczny > klucz_publiczny_openssh_format - Zmieniamy prawa dostetpu katalogu .ssh poleceniem: chmod 700 .ssh
- Kopiujemy nasz klucz publiczny(openssh_format) do pliku .ssh/authorized_key:cat klucz_publiczny >> .ssh/authorized_key
- Kasujemy już skopiowany plik poleceniem:rm klucz_publiczny
- Ponownie zmieniamy prawa dostępu katalogu .ssh: chmod 600 .ssh/authorized_key
-
Następujące czynności wykonujemy na windowsie
- Uruchamiamy putty.Zaznaczamy zapisaną konfigurację. Przechodzimy do Connection=>Data podając nasz login w polu Auto login username
- Następnie przechodzimy do SSH=>Auth, podajemy ścieżkę do naszego klucza prywatnego w polu Private key file for authentication
- Wracamy do Session zapisując konfigurację