Instalacja klucza do SSH

Licencja Creative Commons

Autorem poniższego materiału jest dr Piotr A. Dybczyński,
Zakład Usług Informatycznych.




Instalacja klucza ssh:

Poniżej podaję recepturę, jak wyprodukować klucz, który pozwoli na logowanie się bez hasła na host.moja.domena.

1. Na komputerze z którego chcesz się logować na host.moja.domena bez hasła, na koncie z którego chcesz to robić wydajemy polecenie:

 ssh-keygen -t rsa

pojawi się tekst:

 Generating public/private rsa key pair.
 Enter file in which to save the key (/home/dybol/.ssh/id_rsa):

zgadzamy się na domyślną lokalizację kluczy. Pojawi się tekst:

 Enter passphrase (empty for no passphrase):

naciskamy enter dla pustej frazy (nie będziemy sami siebie sprawdzać), pojawi się tekst:

 Enter same passphrase again: 

i znowu naciskamy enter. Pojawi się tekst podobny do:

 Your identification has been saved in /home/dybol/.ssh/id_rsa.
 Your public key has been saved in /home/dybol/.ssh/id_rsa.pub.
 The key fingerprint is:
 2c:3f:a4:be:46:23:47:19:f7:dc:74:9b:69:24:4a:44 dybol@mydesktop

co oznacza, że w naszym katalogu domowym, w podkatalogu .ssh zapisane zostały dwa pliki:

klucz prywatny: id_rsa
klucz publiczny: id_rsa.pub

Pustą frazę szyfrującą można bezpiecznie podać tylko na komputerach, na których tylko my mamy prawa roota i pod warunkiem, że katalog .ssh będzie miał mod 600. W każdym innym przypadku proszę podać jakąś frazę (hasło szyfrujące klucz). Trzeba ją zapamiętać, bo każdorazowa próba użycia klucza zacznie się od pytania o tę frazę.

Teraz kopiujemy plik id_rsa.pub do katalogu domowego na host.moja.domena, np komendą:

 scp id_rsa.pub host.moja.domena:id_rsa_mydesktop.pub

zostaniemy poproszeni o podanie hasła i plik zostanie skopiowany. Teraz (może już po raz ostatni z hasłem) logujemy się na host.moja.domena:

 ssh host.moja.domena

podajemy hasło i kontynuujemy zadanie:

jeśli nie ma na naszym koncie domowym na host.moja.domena podkatalogu .ssh tworzymy go:

 host.moja.domena# mkdir .ssh
 host.moja.domena# chmod 700 .ssh
 host.moja.domena# cd .ssh

następnie dopisujemy skopiowany wcześniej klucz do pliku authorized_keys:

 host.moja.domena# cat ../id_rsa.pub >> authorized_keys

jeśli pliku authorized_keys nie było w .ssh zostanie utworzony, jeśli plik był, klucz zostanie dopisany jako następna linia.

Upewniamy się, że nikt klucza nie podejrzy:

 host.moja.domena# chmod 600 authorized_keys

i już!!! Kasujemy plik ~/id_rsa.pub na host.moja.domena i wylogowujemy się.

Kolejna próba logowania z tego samego konta:

 ssh host.moja.domena

powinna udać się bez konieczności podawania hasła!

Dla dociekliwych polecam link (z którego korzystałem przygotowując ten tekst):

http://www.securityfocus.com/infocus/1810

Powyższą procedurę należy wykonać na każdym koncie z którego chcesz logować się na host.moja.domena (plik authorized_keys może zawierać wiele linii po jednym kluczu w każdej), szczególnie jak administrator zapowiada zablokowanie logowania z hasłem happy smiley.


Licencja Creative Commons


Edytuj