[4] Autentykacja za pomoca pary kluczy SSH

24 maja 2020 Wyłączono przez Adam [zicherka] Nogły

Skonfigurujemy teraz autentykacje za pomocą pary kluczy. Wygenerujemy prywatny klucz dla klienta oraz publiczny dla serwera.

[1] Wygenerujemy teraz parę kluczy.

[user@lsr01vm ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): # jeśli chcesz to możesz zmienić położenie plików wynikowych
Enter passphrase (empty for no passphrase): # jeśli chcesz ustaw hasło do klucza, jesli nie chcesz wciśnij [Enter]
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ciFBbZubwUPOEky5cM5FDJ5SEtjPAoY1OvZvXZeiCiQ user@lsr01vm.zicher.lab
The key's randomart image is:
+---[RSA 3072]----+
| oooo=**.        |
|..+.o+=o*        |
|oo ..B+X.o       |
|... ..B.O.  .    |
| E o ...SB o     |
|  o . .o= o      |
|   . o o         |
|    o .          |
|     .           |
+----[SHA256]-----+
[user@lsr01vm ~]$ ll ~/.ssh
razem 8
-rw-------. 1 user user 2655 05-24 13:40 id_rsa
-rw-r--r--. 1 user user  577 05-24 13:40 id_rsa.pub
[user@lsr01vm ~]$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

[2] Przekopiuj teraz klucz prywatny z serwera do klienta, aby można było logować się za ich pomocą.

[cent@lsr02vm ~]$ mkdir ~/.ssh
[cent@lsr02vm ~]$ chmod 700 ~/.ssh
# przekopiujemy teraz klucz prywatny do klienta, z ktorego chcemy sie łączyć
[cent@lsr02vm ~]$ scp user@192.168.1.2:/home/user/.ssh/id_rsa ~/.ssh/
user@192.168.1.2's password:
id_rsa                                                                               100% 2655     3.4MB/s   00:00
[cent@lsr02vm ~]$ ssh user@192.168.1.2
Enter passphrase for key '/home/cent/.ssh/id_rsa': # jeśli ustawiłeś hasło do klucza to wpisz je teraz
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sun May 24 12:42:05 2020 from 192.168.1.112
[user@lsr01vm ~]$

[3] Jeśli ustawimy [PasswordAuthentication no], wtedy nie będzie można się zalogować za pomocą loginu i hasła, tylko kluczami. Jest to dużo bezpieczniejsza opcja.

[root@lsr01vm ~]# mcedit /etc/ssh/sshd_config

# linia 73: zmień parametr na [no]
PasswordAuthentication no

[root@lsr01vm ~]# systemctl restart sshd

Logowanie za pomocą pary kluczy w Windows #1

[4] Uruchom [Puttygen.exe] – jest to jeden z programów pakietu PUTTY. Po uruchomieni kliknij [Load].
[5]Wskaż klucz prywatny [id-rsa] który przekopiowałeś z serwera SSH. Jeśli ustawiłeś hasło dla klucza to je wpisz, jeśli nie – to pomiń ten krok
[6] Kliknij [Save private key], i wskaż lokalizację i jego nazwę – jaką tylko pragniesz 😉 .
[7] Uruchom Putty i przejdź do [Connection] – [SSH] – [Auth], w polu [Private file key for autentication] wskaż zapisany przed chwilą klucz prywatny.
[8] Wroć do [Session] i w polu [Hostname or IP address] wpisz serwer, z którym chcesz się połączyć i kliknij [Open].
[9] Jeśli para kluczy jest OK, to po wpisaniu hasła do klucza (jeśli je ustawiono) zostałeś zalogowany do serwera.

Logowanie za pomocą pary kluczy w Windows #2

[10] Jeśli używasz Windows 10 w wersji 1803 lub wyższej to klient OpenSSH jest już wbudowany i można korzystać z niego w PowerShell’u lub linii poleceń. Przekopiuj prywatny klucz do katalogu [C:\Users\ZalogowanyUser\.ssh].

[11] Uruchom PowerShell’a i zaloguj się do serwera. Jeśli potrzeba podaj hasło do klucza.