Accesso con chiavi SSH

Creare la coppia di chiavi RSA

Il primo passo è creare nella macchina da cui si vuole fare l’accesso verso altre la coppia di chiavi pubblico e privata

ssh-keygen -t rsa

Memorizzare le chiavi e impostare la passphrase

Una volta dato il comando di generazione verranno chieste alcune domande

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Dando invio verrà salvata nella cartella mostrata

Enter passphrase (empty for no passphrase):

Andrà poi inserita una passphrase che permette di proteggere la chiave privata da impossessamenti non autorizzati.
Lo svantaggio è che impostandola andrà inserita ogni volta che sarà necessario usare la chiave privata.

Il processo di generazione della chiave procederà in questo modo

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
| .oo. |
| . o.E |
| + . o |
| . = = . |
| = S = . |
| o + = + |
| . o + o . |
| . o |
| |
+-----------------+
The public key is now located in /home/demo/.ssh/id_rsa.pub The private key (identification) is now located in /home/demo/.ssh/id_rsa

Copiare la chiave pubblica sugli host

Dopo aver generato la coppia di chiavi andrà copiata la chiave pubblica negli host a cui si vuole accedere dalla macchina su cui si è fatta la generazione della coppia di chiavi.

La copia della chiave pubblica nel file authorized_keys dell’host di destinazione si può effettuare con il comando ssh-copy-id, dalla macchina dove è residente la chiave pubblica.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@IPdestinazione

In alternativa si può copiare usando SSH

cat ~/.ssh/id_rsa.pub | ssh user@IPdestinazione "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Lanciando i comandi di qui sopra dovrebbe apparire qualcosa come questo (verrà richiesta la password dell’utente con cui ci si sta connettendo)

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password: 
Now try logging into the machine, with "ssh 'user@12.34.56.78'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Eventuale disabilitazione dell’accesso root

Dopo aver copiato la chiave SSH si potrebbe disabilitare l’accesso SSH sull’host con nome utente e password per l’utente root (in modo che sia possibile connettersi solo tramite chiavi).

Per farlo bisogna modificare nel file sshd_config la voce PermitRootLogin impostandola in questo modo

nano /etc/ssh/sshd_config
PermitRootLogin without-password

e infine riavviare il servizio

reload ssh
Aggiungi ai preferiti : permalink.

I commenti sono chiusi.