Connessione automatica ssh a chiave pubblica, verso un server remoto
12 gennaio 2014  //  By:   //  Linux, Raspberry Pi  //  1 comment   //   1772 Views

Per effettuare una connessione SSH verso altri server,prima cosa dobbiamo installare e configurare il servizio ssh sul server. 

E’ possibile aprire una connessione remota protetta utilizzando SSH, tramite il comando ssh user@host o anche tramite interfaccia grafica con putty, ma solitamente quando lanciamo il comando di connessione, ci viene richiesta una password di accesso.

Per evitare di ripeterla ogni volta, ma non solo per il fatto di scomodità ma anche per un fattore piuttosto limitante, in quanto ci impedisce ad esempio di effettuare quelle operazioni in modo automatico. Quindi per evitare ciò possiamo effettuare una connessione SSH senza dover inserire la password, è sufficiente creare una chiave univoca che permetta alle due macchine di riconoscersi.

Partiamo dal nostro PC_client con il quale faremo accesso al nostro PC_server. Nel client andremo generare la coppia di chiavi: una privata che resterà sul PC_client ed una pubblica che copieremo sul PC_server.

Su client, apriamo un terminale root ssh, e digitiamo:

Oltre che oltre a rsa è possibile impostare differenti algoritmi di crittografia per la nostra chiave condivisa, come dsa che risulta più sicuro rispetto al precedente, ma richiede risorse di superiori durante il trasferimento dei file.

Ora dovremo salvare la chiave, per default questa verrà messa nella sottocartella della home .ssh e si chiamerà id_rsa /utente/.ssh/.

Verrà chiesto di inserire una password ma visto che vogliamo eseguire tutto in automatico per i nostri script non ne inseriremo nessuna, quindi diamo invio finchè non ritorniamo al prompt.

 

Vengono generate due chiavi, una privata id_rsa ed la relativa coppia pubblica id_rsa.pub.  Ora che abbiamo la coppia di chiavi, dobbiamo copiare la chiave pubblica sul sever a cui vogliamo connetterci.

Dal nostro PC_client effettuiamo questo comando se le chiavi sono state generate da root usare i relativi permessi per copiarle. Utilizziamo inoltre il comando scp (secure control protocol) ma le credenziali sono come quelle del vostro ssh o sftp.

Questo comando copia la chiave pubblica (id_dsa.pub) sul server remoto tramite scp (notare il : alla fine dell’indirizzo del server). Il file finisce nella cartella home, ma è comunque possibile specificare un altro percorso.

Ora vado a creare nella vostra home del PC_server la cartella

Poi effettuo questi altri passaggi

Gli ultimi due comandi rimuovono la chiave pubblica dal server (non necessaria adesso), e ne definisce i permessi corretti sul file  authorized_keys

Alla fine sul vostro PC_client, dovrete creare  il file /user/.ssh/config contenente i seguenti parametri

Salviamo e chiudiamo il file. Per la prima prova di connessione, lanciando ad esempio la connessione via SSH:

Dopo questo primo avvio il tutto dovrebbe essere automatico.

Questa guida con relativa connessione è stata provata tra un raspberry_pi (Raspbian) e un server remoto. Un possibile utilizzo potete trovarlo se dovete fare un script per i vostri backup tramite sftp.

About the Author :

BI CONSULTING. Studente di Ingegneria Informatica, Sistemista Linux e appassionato di tutto ciò che sia tecnologico ma soprattutto Open Source. Distro: Debian e Arch LInux. Smartphone: Nexus / Lg G2 Buona Lettura  Visualizza il profilo su Linkedln

1 Comment to “Connessione automatica ssh a chiave pubblica, verso un server remoto”

Leave a reply