Creare connessioni SSH senza password
In caso ci sia la necessità di eseguire connessioni SSH senza dover immettere la password, basta creare le coppie di chiavi RSA e copiarle sull’altro PC.
Chiamiamoli local ( PC dal quale si vuole aprire la connessione ) e remote ( PC verso il quale si vuole aprire la connessione ).
Innanzitutto da local si creano le coppie di chiavi dall’utente che si deve usare per la connessione ( la passfrase lasciatela in bianco se no al collegamento chiederà quella al posto della password e si è al punto di partenza ).
1 |
ssh-keygen -t rsa |
Verranno creati due file id_rsa ( chiave privata ) e id_rsa.pub ( chiave pubblica ).
Ora occorre copiare la chiave pubblica sul PC remote chiamandolo authorized_keys.
1 |
scp .ssh/id_rsa.pub remoteuser@remote:.ssh/authorized_keys |
Conviene poi cambiare i permessi del file authorized_keys su remote in 600.
1 |
chmod 600 .ssh/authorized_keys |
In caso si necessiti di creare connessioni multiple senza password basta creare le chiavi come spiegato sopra per ogni macchina da cui serve stabilire la connessione, copiare tutte le chiavi pubbliche sulla macchina che deve accettare le connessioni e appendere i file uno all’altro.
Dal PC1 normale come sopra:
1 |
scp .ssh/id_rsa.pub remoteuser@remote:.ssh/authorized_keys |
Dal PC2 e dal PC3 ognuno la propria chiave:
1 2 |
scp .ssh/id_rsa.pub remoteuser@remote:.ssh/id_rsa_pc2.pub scp .ssh/id_rsa.pub remoteuser@remote:.ssh/id_rsa_pc3.pub |
Infine dal PC remote si procede ad appendere le chiavi aggiuntive ed eliminare le copie ormai inutili:
1 2 3 4 |
cd .ssh cat id_rsa_pc2.pub >> authorized_keys cat id_rsa_pc3.pub >> authorized_keys rm id_rsa_pc2.pub id_rsa_pc3.pub |
http://www.cyberciti.biz/tips/linux-multiple-ssh-key-based-authentication.html