Prijava SSH brez gesla z uporabo SSH Keygen v 5 preprostih korakih


SSH (Secure SHELL) je odprtokodni in najbolj zaupanja vreden omrežni protokol, ki se uporablja za prijavo na oddaljene strežnike za izvajanje ukazov in programov. Uporablja se tudi za prenos datotek iz enega računalnika v drugega prek omrežja s pomočjo protokola SCP (varna kopija).

V tem članku vam bomo pokazali, kako nastavite prijavo brez gesla na RHEL/CentOS in Fedora s pomočjo ssh ključev za povezavo z oddaljenimi strežniki Linux brez vnosa gesla. Uporaba prijave brez gesel s ključi SSH bo povečala zaupanje med dvema strežnikoma Linux za enostavno sinhronizacijo ali prenos datotek.

SSH Client : 192.168.0.12 ( Fedora 21 )
SSH Remote Host : 192.168.0.11 ( CentOS 7 )

Če imate opravka s številnimi oddaljenimi strežniki Linux, je prijava SSH brez gesla eden najboljših načinov za avtomatizacijo nalog, kot so samodejne varnostne kopije s skripti, sinhronizacijske datoteke s pomočjo SCP in oddaljeno izvajanje ukazov.

V tem primeru bomo nastavili samodejno prijavo SSH brez gesla s strežnika 192.168.0.12 kot uporabniški tecmint na 192.168.0.11 z uporabniško sheeno.

1. korak: Ustvarite ključe SSH-Keygen za preverjanje pristnosti - (192.168.0.12)

Najprej se prijavite v strežnik 192.168.0.12 z uporabnikom tecmint in z naslednjim ukazom ustvarite par javnih ključev.

[tecmint@linux-console.net ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

2. korak: Ustvarite .ssh direktorij na - 192.168.0.11

Uporabite SSH s strežnika 192.168.0.12, da povežete strežnik 192.168.0.11 z uporabo sheena kot uporabnika in pod njim ustvarite imenik .ssh z naslednjim ukazom.

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 mkdir -p .ssh

The authenticity of host '192.168.0.11 (192.168.0.11)' can't be established.
RSA key fingerprint is 45:0e:28:11:d6:81:62:16:04:3f:db:38:02:la:22:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.11' (ECDSA) to the list of known hosts.
sheena@192.168.0.11's password: [Enter Your Password Here]

3. korak: Naložite ustvarjene javne ključe na - 192.168.0.11

Uporabite SSH iz strežnika 192.168.0.12 in naložite nov ustvarjeni javni ključ (id_rsa.pub) na strežnik 192.168.0.11 v sheenin imenik .ssh kot ime datoteke pooblaščeni ključi.

[tecmint@tecmint ~]$ cat .ssh/id_rsa.pub | ssh sheena@192.168.0.11 'cat >> .ssh/authorized_keys'

sheena@192.168.1.2's password: [Enter Your Password Here]

4. korak: Nastavite dovoljenja na - 192.168.0.11

Zaradi različnih različic SSH na strežnikih moramo nastaviti dovoljenja za imenik .ssh in datoteko pooblaščeni_keji.

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

sheena@192.168.0.11's password: [Enter Your Password Here]

5. korak: Prijavite se s strežnika 192.168.0.12 na strežnik 192.168.0.11 brez gesla

Od zdaj naprej se lahko v 192.168.0.11 prijavljate kot sheena uporabnik s strežnika 192.168.0.12 kot uporabnik tecmint brez gesla.

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11