Logowanie przez putty (ssh) bez użycia hasła

Zwiększ bezpieczeństwo! Sprawdź, jak wykonać logowanie przez Putty (SSH) bez użycia hasła za pomocą kluczy. Pełny przewodnik konfiguracji krok po kroku.

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ę