Autore: Fabio Di Matteo
Ultima revisione: 23/01/2010
Grazie al comodo programma sshpass e' possibile passare la password per i servizi ssh in maniera non interattiva, ovvero e' possibile passare la password tramite linea di comando.
Solo per la prima connessione e' necessario rispondere yes
al seguente messaggio,
utilizzando ssh in modo tradizionale , senza utilizzare sshpass.
The authenticity of host '192.168.1.60 (192.168.1.60)' can't be established. RSA key fingerprint is e5:db:2a:40:ff:5f:da:1f:29:2e:a8:b9:e1:d3:b5:69. Are you sure you want to continue connecting (yes/no)?
sshpass -p <password> ssh <utente>@<nomehost>
sshpass -p <password> scp -r <utente>@<host>:/home/fabio/Documenti/ .
Come abbiamo detto la prima volta che si connette ad un host e' necessario accertarne l'autenticita' acquisendone la firma, ovvero rispondere yes
al seguente messaggio:
The authenticity of host '192.168.1.60 (192.168.1.60)' can't be established. RSA key fingerprint is e5:db:2a:40:ff:5f:da:1f:29:2e:a8:b9:e1:d3:b5:69. Are you sure you want to continue connecting (yes/no)?
Specificando l'opzione -o StrictHostKeyChecking=no e anche -o UserKnownHostsFile=/dev/null e' possibile ignorare questa operazione. Eccone un esempio:
sshpass -p <password> scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r <utente>@<host>:/home/fabio/Documenti/ .
Adesso procederemo alla creazione di uno script che possa fare il backup incrementale attraverso un tunnel ssh.
Per realizzare lo script useremo il noto programma rsync in combinazione con ssh e sshpass (quest'ultimo per evitare che la password ci venga chiesta ogni volta). Sulla macchina da backuppare e' nesessario che siano attivi i seguenti server:
Invece sulla macchina che ospitera' i backup e' necessario aggiungere le seguenti righe al file di configurazione del client ssh (per evitare che chieda di verificare l'autenticita' del server ssh di cui fara' il backup ):
/etc/ssh/ssh_config
... StrictHostKeyChecking no UserKnownHostsFile=/dev/null ...
Lo script da lanciare nel server che conterra' i backup e' il seguente:
sshpass -p <password> rsync --log-file=<log-backup.log> -avz -e ssh <USER>@<IP>:<directory da backuppare> <directory locale che contiene i backup>
usando l'opzione “ –progress
” di rsync potremmo visualizzare la percentuale di avanzamento, la velocita' di trasferimento e anche il tempo rimanente stimato.
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.