Logowanie przez SSH bez hasła, przy użyciu klucza

Administrując dużą ilością serwerów, nie sposób spamiętać wszystkich haseł. Na każdym z nich (przy założeniu, że zachowujemy zasady bezpiecznej konfiguracji) mamy bardzo różne hasła. Pojawia się potrzeba używania takich programów jak chociażby KeePassX. Jednakże wygodniejszym rozwiązaniem, które możemy zastosować do logowania SSH na serwery jest prywatny klucz autoryzacyjny RSA. Możemy wygenerować go w kilka chwil, a zwróci się to nam z nawiązką, gdyż podając tylko hasło do klucza, będziemy mogli się zalogować na każdy nasz serwer bez pamiętania tysiąca haseł.

1. Generujemy klucz prywatny i publiczny – wygląda to następująco:

vixu@omh:/etc$ ssh-keygen -b 4096 [wciskam enter]
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vixu/.ssh/id_rsa): [wciskam enter]
Created directory ‚/home/vixu/.ssh’.
Enter passphrase (empty for no passphrase): [wpisuję hasło do klucza i wciskam enter]
Enter same passphrase again: [ponownie wpisuję hasło do klucza i wciskam enter]
Your identification has been saved in /home/vixu/.ssh/id_rsa.
Your public key has been saved in /home/vixu/.ssh/id_rsa.pub.
The key fingerprint is:
06:fa:ed:cc:58:83:96:72:e3:29:c8:a2:a0:32:d2:25 vixu@omh
The key’s randomart image is:
+–[ RSA 4096]—-+
[…]
+—————–+

2. Po wygenerowaniu kluczy muszę skopiować mój klucz publiczny do serwerów. Mogę do zrobić na dwa sposoby:

a. poleceniem ssh-copy-id login@host.pl ( w przypadku zmienionego portu: ssh-copy-id -i ‚ssh -p XX’ login@host.pl, gdzie XX to numer portu)

b. wklejając klucz publiczny z pliku ~/.ssh/id_rsa.pub (lokalnej maszyny) w nowej linii do pliku ~/.ssh/authorized_keys (serwera zdalnego)

3. Po tych zabiegach powinniśmy być w stanie zalogować się do serwera zdalnego bez podawania hasła konta zdalnego, a jedynie hasło do klucza prywatnego RSA.

Dodaj komentarz

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