Come usare Putty per connettersi ad una machina linux con chiavi SSH
Il modo migliore per connettersi alla shell linux da una macchina Windows è quello di usare il programma PuTTY. L’eseguibile è scaricabile a questo link.
Nella configurazione standard una volta stabilita la connessione con il server linux si dovranno inserire le proprie credenziali (username e password). Per rendere più sicuro l’accesso è possibile utilizzare le chiavi SSH senza la necessità di inserire la password di root.
Come prima cosa bisogna generare le chiavi, per far questo si può utilizzare il programma PuTTYgen. Si può scaricare da questo indirizzo e mandarlo in esecuzione.
Scegliere il formato delle chiavi SSH-2 RSA con dimensione di almeno 1024 bit e cliccare su Generate. Al termine della procedura la finestra conterrà la chiave appena generata:
Nel campo key comment si può inserire un commento da associare alla chiave e nei due campi Key passphrase e Confirm passphrase è possibile inserire una password per la chiave.
Se si inserisce la password ad ogni accesso è necessario inserirla altrimenti si può accedere in automatico senza digitare nulla.
A questo punto cliccare su Save private key e salvare la chiave privata in un file con estensione .ppk. Questo file ci tornerà utile più tardi. La chiave pubblica invece è visualizzata nella casella in alto sotto la dicitura Public key for pasting into OpenSSH autorized_keys file: e va copiata negli appunti.
Torniamo alla shell di linux e all’interno della cartella home dell’utente utilizzato creiamo la cartella nascosta .ssh, se non fosse presente, e dentro questi creiamo il file authorized_keys e incolliamo la chiave pubblica che abbiamo precedentemente copiato negli appunti.
Fatto questo aprite putty e create una normale sessione verso la macchina linux con l’accortezza di inserire all’interno della sezione Connection –> SSH –> Auth il file .ppk precedentemente salvato:
Se ora provate a collegarvi a questa sessione vi verrà chiesto l’utente e subito noterete la scritta:
Authenticating with public key "rsa-key-20130618"
ad indicare che è stata usata la chiave privata configurata.
A questo punto il procedimento è concluso, volendo si possono eseguire altre due operazioni:
- Impostare un login automatico
- Disabilitare l’accesso alla shell tramite password
Per impostare l’autologin basta aprire la sessione creata precedente dentro putty e inserire la username nel campo Connection –> Data –> Auto-login username. In questo modo basta un doppio click nel nome della sessione e vi ritroverete automaticamente nella shell senza aver digitato nulla.
Se invece avete impostato una password per la chiave SSH dovrete inserirla comunque.
Per disabilitare l’accesso con password bisogna editare il file /etc/ssh/sshd_config e impostare il parametro seguente:
PasswordAuthentication no
dopodichè riavviare il servizio ssh con il comando /etc/init.d/ssh restart
Se ora provate a connettervi senza un certificato otterrete un errore del tipo: