Krótko, i na temat, mam nadzieję, że komuś się przyda. Dość często, można powiedzieć, że codziennie loguję się na różne systemy za pomocą SSH. Każde logowanie wiąże się z żmudnym wpisywaniem hasła, a jak każdy wie hasło powinno składać się z małych i wielkich liter, cyfr i znaków specjalnych. :P A kiedy istnieje konieczność zapamiętania kilku takich haseł, może narobić się kaszana. ;) Kiedy dzisiaj DenyHosts na serwerze “A” zbanował moje IP dlatego, że wpisywałem hasło do serwera “B” miarka się przebrała i postanowiłem użyć uwierzytelnienia logowania poprzez SSH za pomocą kluczy DSA. W trakcie logowania następuje identyfikacja na podstawie kluczy DSA (prywatnego na lokalnym i publicznego na zdalnym komputerze), dlatego nie jest konieczne podawanie hasła.
1) Na początku na lokalnym komputerze musimy wygenerować klucz:
ssh-keygen -t dsa -b 1024
Zostaniemy zapytani o lokalizację, w której ma być zapisany klucz, oraz dwukrotnie o hasło, które ma chronić sam klucz. Zostawiamy domyślne położenie klucza, a hasła nie wpisujemy, wduszamy po prostu ENTER – ponieważ chcemy mieć bezhasłowy dostęp. Jeśli wszystko pójdzie dobrze, powinniśmy zobaczyć coś takiego:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/franek/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/franek/.ssh/id_dsa.
Your public key has been saved in /home/franek/.ssh/id_dsa.pub.
The key fingerprint is:
fb:6d:6a:9c:bd:4f:50:bc:3a:9a:b8:d2:38:35:b9:d5 franek@stefan
The key’s randomart image is:
+–[ DSA 1024]—-+
| |
| . |
| o |
| . . |
| S. .. . |
| +.. Eo |
| +.= oo . |
| + oo++oo |
| ooo=ooo. |
+—————–+
2) Teraz należy wyeksportować klucz publiczny na zdalny komputer z którym chcemy logować się za pomocą klucza:
scp ~/id_dsa.pub user@serwer.pl:~/
3) Po przekopiowaniu klucza, należy zalogować się na zdalny host (ostatni raz za pomocą hasła ;)), gdzie należy zmienić nazwę pliku klucza, oraz przenieść go do katalogu .ssh:
cat id_dsa.pub >> .ssh/authorized_keys
Jeśli katalog .ssh nie istnieje, należy go utworzyć.
4) To wszystko :D
Należy pamiętać, aby chronić nasz komputer przed osobami niepowołanymi, oraz nie udostępniać nikomu naszego klucza prywatnego.
4 lipca, 2009 at 1:09
nie udostępniać publicznego? chyba prywatnego ;)
4 lipca, 2009 at 1:13
Tak właśnie miało być, dzięki Papa Smerfie :D
4 lipca, 2009 at 14:38
;) elegancki tutorial :D piwo masz u mnie xD