Logowanie do SSH za pomocą klucza


Mam dość haseł! Taka myśl zaświtała mi w głowie, gdy zaspany musiałem się zalogować na swój serwer by szybko usunąć awarię jednego z kont pocztowych jakie oferuję znajomym. Oczy się kleją, ręce trzęsą, a ja nie widzę literek w konsoli, ba nie widzę nawet czy wpisałem jakieś znaki i nie jest to wina słabego wzroku czy zamkniętych oczu. Rozwiązaniem było logowanie do SSH za pomocą klucza – dzięki temu w programie logującym się do serwera wystarczy wskazać plik klucza i cieszyć się logowaniem bez hasła (jeśli użyjemy klucza bez passphrase – co odradzam).

Skąd wziąć klucz SSH?

Potrzebny nam będzie program puttygen który umożliwi nam wygenerowanie klucza SSH i zapisanie go na dysku. Gdy już mamy program i udało nam się go uruchomić przystępujemy do procedury generacji klucza.

  1. Uruchamiamy program
  2. Wybieramy liczbę bitów dla klucza – ja uważam, że 2048 w zupełności wystarczy. Po roku i tak wypadałoby zmienić klucz dla pewności, a tyle bitów wystarczy na rok. Jeśli jednak komuś mało niech wpisze 4096 – wystarczy na jakieś 5 lat.
  3. Wybieramy sposób szyfrowania – jedyny słuszny na dzień dzisiejszy SSH-2 RSA
    Screen Shot 02-24-16 at 12.23 PM
  4. Klikamy Generate i machamy myszką jak opentani tak długo, aż procedura generacji zakończy się pomyślnie.
  5. Gdy klucz będzie wygenerowany zobaczymy go w oknie programu wraz z jego podpisem. Teraz możemy podać hasło do klucza oraz komentarz. Komentarz pozwoli nam zidentyfikować później klucz, zaś hasło… no pomyślcie.
  6. Zapisujemy nasz klucz prywatny i publiczny przez kliknięcie pól Save Public/Private Key
    Screen Shot 02-24-16 at 12.26 PM

Na zakończenie dodam, że nie warto zamykać okna puttygena, przyda się później, gdy będzie trzeba skopiować treść naszego klucza. Oczywiście można to zrobić, a później załadować klucz za pomocą polecenia Load w puttygen, tylko po co się męczyć.

Dodanie klucza SSH na serwer

Aby cieszyć się dobrodziejstwami klucza SSH musimy go jeszcze dodać na serwer. Nic trudnego.

  1. Logujemy się na nasz serwer jak wcześniej, za pomocą hasła
  2. Z okna programu puttygen kopiujemy klucz od początku do końca (od ssh-rsa do końca komentarza)
  3. W konsoli serwera wydajemy polecenie:

Dodanie klucza SSH do putty i testy

Na koniec należy jeszcze poinformować program putty o lokalizacji naszego klucza. Uruchamiamy więc putty, wczytujemy u ustawienia połączenia z naszym serwerem i przechodzimy do zakładki Connection/SSH/Auth. Na samym dole w polu pliku do wyboru wybieramy nasz plik z kluczem. Później wracamy do zakładki Session i klikamy Save. Klucz dodany do putty.

Screen Shot 02-24-16 at 12.50 PM

Przyszła kolej na testy. Logujemy się więc za pomocą putty na nasz serwer i… hasło? WTF? Jak to? A tak to, że w kluczu wybraliśmy passphrase. Z pomocą przyjdzie nam Pageant.

Jak dodać klucz SSH do pageant

Screen Shot 02-24-16 at 12.57 PM

Uruchamiamy program pageant i klikamy dwa razy na jego ikonkę w trayu. Następnie wybieramy opcję Add Key i dodajemy nasz klucz. Wszystko będzie ładnie działało do momentu zakończenia programu pageant. Dlatego też proponuję utworzenie sobie pliku bat z ładowaniem pageanta, dodaniem do niego klucza i uruchomieniem putty lub dodanie osobnego skrótu do pageanta z ładowaniem klucza.

Screen Shot 02-24-16 at 01.01 PM

Wpis zainspirowany wpisem inzaghi89 o logowaniu do SSH za pomocą klucza.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *