In informatica e telecomunicazioni SSH (Secure SHell, shell sicura) è un protocollo di rete che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica. È il protocollo che ha sostituito l'analogo ma insicuro Telnet.
SSH: login without password
Configureremo l’accesso ad una shell senza dover digitare ogni volta la password, tramite scambio di chiavi
RSA sfruttando il protocollo
SSH. Ipotizziamo di operare in una
LAN nella sottorete 192.168.0.0/24 e che la macchina da cui vogliamo effettuare l’accesso senza password sia la 192.168.0.2, mentra quella su cui vogliamo loggarci senza password sia la 192.168.0.3. Dalla macchina dalla quale ci si vuole connettere senza digitare la password (192.168.0.2), digitiamo il seguente comando per generare la chiave
RSA
[root@192.168.0.2 ]# ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f7:ec:0d:c8:f4:df:7a:6c:2b:1d:a1:59:ee:c7:ae:a0 root@192.168.0.2
Ora copiamo la chiave che abbiamo generato nella macchina di destinazione
[root@192.168.0.2 ]# scp /root/.ssh/id_rsa.pub root@192.168.0.3:.
Logghiamoci ora nella macchina alla quale ci si vuole connettere senza utilizzare la password e digitiamo il seguente comando
[root@192.168.0.3 ]#cd /root
[root@192.168.0.3 ]#mkdir .ssh/
[root@192.168.0.3 ]#cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
Finito, adesso dalla macchina 192.168.0.2 potremo loggarci sulla 192.168.0.3 senza digitare alcunapassword, ma non viceversa.
[root@192.168.0.2 ~]# ssh root@192.168.0.3
Last login: Thu Jul 19 15:20:29 2007 from 192.168.0.2
[root@192.168.0.3 ~]#