Logowanie kluczem
Logowanie SSH po kluczu RSA
Zwiększa bezpieczeństwo uwierzytelniania użytkownika z serwerem oraz znacząco utrudnia wykorzystanie niektórych form ataku na SSH (np. bruteforce). Utrudnia osobom nieautoryzowanym dostanie się do konsoli serwera.
Spis treści
Generowanie kluczy RSA w systemie Windows
- Pobieramy i uruchamiamy darmową aplikację PuTTygen (stąd) służącą do generowania kluczy.
- Zaznaczamy opcje SSH-2 RSA oraz podajemy długość klucza 2048 bitów, wciskamy Generate.
- W momencie generowania klucza poruszamy myszką w wyznaczonym przez program obszarze.
- W kolejnym oknie podajemy dwukrotnie hasło zabezpieczające dla generowanych kluczy.
- Zapisujemy klucz publiczny oraz prywatny.
Generowanie kluczy RSA w systemach Linux / OS X
- Wykonujemy polecenie
ssh-keygen -t rsa
, powinniśmy otrzymać taki komunikat -> "Generating public/private rsa key pair. Enter file in which to save the key (~/.ssh/id_rsa):" - Nie zmieniamy nic, klikamy ENTER.
- Dwukrotnie podajemy hasło zabezpieczające dla generowanych kluczy -> "Your identification has been saved in ~/.ssh/id_rsa. Your public key has been saved in ~/.ssh/id_rsa.pub."
- Jeżeli otrzymaliśmy powyższy komunikat to znaczy, że pojawiły się dwa klucze, jeden prywatny (znajduje się w lokalizacji ~/.ssh/id_rsa) i jeden publiczny (znajduje się w lokalizacji ~/.ssh/id_rsa.pub.).
Konfiguracja po stronie serwera
Windows
Zawartość pliku klucza publicznego należy umieścić na serwerze w pliku "~/.ssh/authorized_keys".
Linux
Przenosimy klucz publiczny na serwer ssh-copy-id -i ~/.ssh/id_rsa.pub login@serwer
Logowanie do serwera z Windows
W przypadku logowania z Windows uruchamiamy PuTTy, przechodzimy do zakładki "Connection", następnie "Data". Podajemy nasz login w polu "Auto login username", następnie przechodzimy do zakładki "SSH" i "Auth", podajemy ścieżkę do naszego klucza prywatnego w polu" Private key file for authentication". Zapisujemy całość wracając do "Session" i klikając "Save".
Standardowo programem PuTTy - [[1]].
Logowanie do serwera z Linux
Standardowo: ssh login@serwer