Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

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):/home/nazwa_uzytkownika/.ssh/authorized_keysNależ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:ssh-rsa AAAAB3N...........SLUzc= rsa-key-20130213Nastę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ę:#PasswordAuthentication yesi usuwamy znak komentarza oraz yes zamieniamy na no.
Wykonujemy restart serwera OpenSSH poleceniem:
OpenBSD /etc/rc.d/sshd restartDebian /etc/init.d/ssh restartOd 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. 

bezpieczeństwo

Komentarze

0 nowych
Druedain   14 #1 14.02.2013 10:43

Prosty, acz użyteczny wpis. Niestety poczynione na początku założenia nie przetrwały w zderzeniu z rzeczywistością. I co teraz? :P

Mifczu   12 #2 14.02.2013 11:04

Po zmianie konfiguracji trzeba zrobić restart usługi ;)

sanurss   4 #3 14.02.2013 12:56

Akurat dzisiaj mi się przydało, dzięki :)

parranoya   9 #4 14.02.2013 17:12

@Druedain
A co Ci nie wyszło?

Moskital   4 #5 14.02.2013 17:52

Potrzebna rzecz :) Sam się przekonałem do kluczowego podejścia do sprawy. Wygodne, szybkie i jak się jeszcze podepnie klucze pod Pageant, to już jest totalny miód-malina.

prap   3 #6 14.02.2013 19:38

@parranoya
Ja tam widzę jedno założenie:
"Zakładam, że jesteś użytkownikiem Windowsa"

kwpolska   6 #7 14.02.2013 20:43

Bez użycia hasła? Ale przecież dałeś, tylko że do klucza. A takowe obligatoryjne nie jest. OpenSSH (Linux/BSD/…):

$ ssh-keygen
$ ssh-copy-id user@machine

Natomiast wyłączanie PasswordAuthentication nie służy do tego, to tylko odbiera możliwość logowania hasłem do konta.

Autor edytował komentarz.
parranoya   9 #8 14.02.2013 22:11

@kwpolska
"Bez użycia hasła? Ale przecież dałeś, tylko że do klucza. A takowe obligatoryjne nie jest. OpenSSH (Linux/BSD/…):"

"Jeśli będziesz miał pewność, że nikt niepowołany nie dostanie się do klucza, możesz zostawić puste pole Key passphrase."

"Natomiast wyłączanie PasswordAuthentication nie służy do tego, to tylko odbiera możliwość logowania hasłem do konta."

"Od tego momentu, do serwera może zalogować się tylko osoba posiadająca klucz..."

Czytaj ze zrozumieniem i wyciągaj wnioski Przyjacielu ;-)
Specjalnie dla Ciebie poprawię wpis.

  #9 17.04.2014 21:24

A co z rootem? Analogicznie tylko zamiast /home/nazwa to /root ?

parranoya   9 #10 18.04.2014 13:48

Nie wiem, NIGDY nie loguje się jako root. Pierwsze co robię to wyłączam tą możliwość.