Dział: Strona główna » Blog » pageant - czyli logowanie na konta bez hasła
Zaloguj Kontakt Strona główna

pageant - czyli logowanie na konta bez hasła

jak w sprawny sposób połączyć się przez ssh bez używania hasła

Wielu z użytkowników internetu korzysta z kont shellowych. Najczęściej wykorzystywanym klientem jest Putty, który w większości wypadków jest wystarczający. Ze względów bezpieczeństwa powinno się stosować różne hasła do różnych kont co uniemożliwia osobie niepowolanej dostęp do wszystkich naszych serwerów podsłuchując jedno hasło. Sposobu na bezpieczne hasło właściwie nie ma, można co najwyżej zrobić sobie kombinacje z różnych znaków nie tworzącą żadnego logicznego ciągu, np. tU7$a.5#eB. Takie hasło dla każdego z nas może być trudne do zapamiętania. Aby uprościć proces logowania i zaoszczędzić parę szarych komórek stworzono program Pageant. Umożliwia on logowanie się do konta shellowego przy użyciu kluczy. Poniżej przedstawiam szybką konfiguracje i umożliwienie logowania z wykorzystaniem klucza:

1) Pobieramy program Pateant ze strony:

http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe

2) Pobieramy program PuTTYgen

http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

3) Pobieramy program PuTTY (o ile jeszcze go nie mamy)

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

4) Uruchamiamy program PuTTYgen Wybieramy: SSH-2 DSA oraz jako długośc podajemy 1024 . Następnie ruszamy myszką po szarym polu. 

 

5) Po wygenerowaniu klucza wpisujemy w pola "Key passphrase" oraz "Confirm passphrase" hasło którym będzie zaszyfrowany nasz klucz prywatny. Następnie kliamy na "Save private key" i wybieramy ścieżkę gdzie ma być zapisany nasz klucz prywatny.

 

6) Kopiujemy zawartość szarego pola z ciągiem znaków do schowka systemowego (ctrl+c)

 

7) Łączymy się program PuTTY z naszym serwerem oraz logujemy się za pomocą naszego loginu i hasła

 

8 ) Sprawdzamy czy w naszym katalogu domowym istnieje katalog .ssh

cd ~
ls -la

 

9) Jesli nie istnieje to tworzymy go

mkdir .ssh

10) Przechodzimy do katalogu ~/.ssh

cd .ssh

Jeśli sami stworzyliśmy katalog .ssh to tworzymy w nim plik authorized_keys

touch authorized_keys

W tym pliku przechowywane będą nasze klucze publiczne.Teraz wkejamy do tego pliku nasz klucz publiczny. Można zrobić to za pomocą edytora (np. vi, vim, pico) lub z konsoli

echo [nasz klucz publiczny ktory mamy w schowku systemowym] > authorized_keys

 

11) Wylogujemy się z konsoli i uruchamiamy program Pageant. Klikamy na "Add key", wskazujemy miejsce gdzie zapisaliśmy nasz klucz publiczny oraz podajemy hasło które wpisaliśmy podczas jego tworzenia. Jeśli wszystko poszło OK to na liście powinien pojawić się nasz klucz.

 

12) Uruchamiamy PuTTY, wpisujemy nazwę hosta z którym chcemy się połączyć, oraz w Connection -> SSH -> Auth zaznaczamy opcje "Attempt authentication using Pegeant". Finalnie klikamy "Open", podajemy nasz login i jeśli wszystko poszło bez problemów to powinniśmy się zalogować za pomocą naszego klucza.

  • Autor: Łukasz Buryło
Comment icon

Komentarze

  1. Avatar

    Cześć. W sumie opisałeś tu użycie ssh + klucza z hasłem, które jest przechowywane przez PageANT. Nie prościej odpuścić sobie kodowanie klucza hasłem i "olać" całego PageANT'a? W sumie nie wiem w jaki sposób PageANT przechowuje klucze (nie sprawdzałem), ale jest to bez znaczenia, ponieważ równie dobrze można wykraść plik hashy pageant'a i wygenerować hash bądź użyć go do logowania przy pomocy klucza. Moim zdaniem trochę zbędne zabezpieczenie, które mało daje, a wręcz przeciwnie, może zaszkodzić. Bardziej bym obstawiał na ustawienia sshd nasłuchującego na serwerze, tj. zabronienie logowania na root'a, wymaganie sudo od usera bez zmiennej NOPASSWD=(ALL) oraz port knocking do serwera.

    Dodano: 16.04.2013
    Przez: ~ Kacper ~
  2. Avatar

    Siła zabezpieczenia jest w dużej mierze liczona długością hasła, a także jego unikalnością. Mało kto jest w stanie zapamiętać hasła powyżej 12 znaków które zawiera duże i małe litery, znaki specjalne, cyfry ... Biorąc pod uwagę, że takich haseł jest kilka to już zadanie staje się skomplikowane. Można korzystać z rozwiązań trochę bardziej zaawansowanych jak chociażby TrueCrypt i KeePass które to w połączeniu stanowi potężną platforme bezpieczeństwa. Rozwiązania zaproponowane przez Ciebie owszem są stosowane, bo chyba już każdy ogarnięty administrator serwera blokuje logowanie na konto root'a via ssh oraz potrafi skonfigurować w bezpieczny sposób sudo. Zmiana portu to tylko pozorne zwiększenie bezpieczeństwa ale potrafi pozbyć się jakiś 40% ataków

    Dodano: 17.04.2013
    Przez: ~ Łukasz Buryło ~
  3. Avatar

    Mówiłem o port knockingu a nie zmianie portów... cały pic polega na tym, że w konsoli na 1 terminalu pingujesz sobie odpowiedni port i w tym momencie serwer po np. 10 pingu otwiera port SSH

    Dodano: 19.04.2013
    Przez: ~ Kacper ~