Quando vogliamo connetterci ad un server SSH, solitamente utilizziamo un comando simile al seguente:
1 |
ssh pi@192.168.1.2 |
Una volta connessi ci viene richiesta la password di accesso e subito dopo siamo connessi. Digitare ogni volta la password puo’ essere scomodo, ed in alcuni casi questo potrebbe addirittura impedirci di creare uno script di automazione per velocizzare alcuni compiti.
Ci vengono in aiuto le chiavi SSH. Generando una coppia di chiavi pubblica/privata di SSH sulla propria macchina, ed esportando la chiave pubblica sul server remoto, possiamo fare in modo di autorizzare la nostra chiave remota, facendo si che le connessioni successive avvengano senza la richiesta di alcuna password.
Supponiamo (a scopo dimostrativo) che il server remoto si trovi all’indirizzo IP 192.168.1.2 e supponiamo inoltre di avere un account chiamato pi sulla macchina remota.
Per prima cosa dobbiamo generare la coppia di chiavi sulla nostra macchina locale (n.b: non utilizzo alcuna passphrase, altrimenti mi verrebbe richiesta comunque al primo login di ogni sessione):
1 |
ssh-keygen -t dsa |
1 |
cd ~/.ssh/ |
1 |
scp id_dsa.pub pi@192.168.1.2:./id_dsa.pub |
1 |
ssh pi@192.168.1.2 |
1 |
cd .ssh |
1 |
touch authorized_keys2 |
1 |
chmod 600 authorized_keys2 |
1 |
cat ../id_dsa.pub >> authorized_keys2 |
1 |
rm ../id_dsa.pub |
Se a questo punto proviamo a collegarci al server remoto non ci verrà richiesta nessuna password
VideoTutorial: https://www.youtube.com/watch?v=pU2T23ILegs
Spero di essere stato chiaro
GabrieleToselli