SSH przez PuTTY bez użycia hasła
Serwer OpenSSH służący do zdalnego logowania się do serwera ma możliwość autoryzacji użytkownika za pomocą nazwy użytkownika i hasła lub nazwy użytkownika i klucza. Domyślną opcją jest logowanie przy użyciu hasła. Chcąc znacznie zwiększyć bezpieczeństwo procesu logowania należy korzystać z kluczy zamiast hasła. Brzmi groźnie ale jest bardzo proste do wprowadzenia. Zakładam, że jesteś użytkownikiem Windowsa więc proces generowania kluczy przeprowadzimy korzystając z programu PuTTYgen a logować się będziemy używając PuTTY. No to zaczynamy. Na początek uruchamiamy PuTTYgen i generujemy klucz:
Klucz generowany jest na podstawie losowych ruchów kursora w wyznaczonym polu:
Wygenerowany klucz warto zabezpieczyć hasłem. Ale chwileczkę! Miało być logowanie bez hasła? No bo logowanie będzie bez hasła ale sam klucz jednak warto zabezpieczyć na wypadek gdyby ktoś skopiował sobie nasz klucz. Jeśli będziesz miał pewność, że nikt niepowołany nie dostanie się do klucza, możesz zostawić puste pole Key passphrase dzięki czemu będziesz mógł logować się baz żadnego hasła, jednak ze względu bezpieczeństwa, proponuję zastosować jakieś hasło. Nie musi być szczególnie trudne, ponieważ podstawowym zabezpieczeniem dostępu do serwera jest fakt posiadania klucza a nie długość hasła klucza. Wygenerowany klucz to ten długi ciąg liter i cyfr.
Należy skopiować go do pliku (będąc zalogowanym jako ten użytkownik):
[code=]/home/nazwa_uzytkownika/.ssh/authorized_keys[/code]
Należy zwrócić uwagę, żeby cały ciąg znaków był w jednej linii z odstępem jednej spacji między ssh-rsa i rsa-key-20130213:
[code=]ssh-rsa AAAAB3N...........SLUzc= rsa-key-20130213[/code]
Następnie wygenerowany klucz trzeba zapisać na dysku komputera z którego będziemy się logować:
Teraz możemy uruchomić PuTTY i logować się używając kluczy. Wczytujemy zapisaną sesję w PuTTY i w polu Auth wskazujemy ścieżkę do pliku klucza:
Po uruchomieniu sesji logowania zostaniemy poproszeni o podanie hasła klucza a nie użytkownika. Jeśli wszystko działa jak należy, w pliku serwera /etc/ssh/sshd_config odnajdujemy linijkę:
[code=]#PasswordAuthentication yes[/code]
i usuwamy znak komentarza oraz yes zamieniamy na no. Wykonujemy restart serwera OpenSSH poleceniem: OpenBSD [code=]/etc/rc.d/sshd restart[/code]
Debian [code=]/etc/init.d/ssh restart[/code]
Od tego momentu, do serwera może zalogować się tylko osoba posiadająca klucz i na nic zdadzą się próby zalogowania metodą brute force dzięki czemu ZNACZNIE podnosimy bezpieczeństwo dostępu do serwera.
A w następnym wpisie opiszę jak obejść firmowe zakazy na odwiedzane strony WWW czyli tunelowanie http za pomocą serwera OpenSSH.