Quando ho scritto il post riguardo gli script di backup mi sono dimenticato di dire una cosa.
Lo script di rsync se usato con cron presuppone che il collegamento via ssh non richieda l’inserimento manuale della password. Questo è possibile grazie all’utilizzo di due chiavi nei due host.
È molto semplice, dalla macchina da cui ci si connette (quindi quella che ha i file di cui fare il backup) collegati come root digitiamo:
$ ssh-keygen -t dsa -f ~/.ssh/id_dsa -C "user@host"
- -t indica il tipo di algoritmo usato per la generazione delle chiavi
- -f la posizione dove le salviamo
- -C è un commento
Una volta dato invio digitiamo 2 volte una passphrase.
Alla richiesta della passphrase non digitiamo niente e diamo invio
Poi copiamo le chiavi sulla macchina dove dobbiamo salvare i file di backup
$ cat .ssh/id_dsa.pub | ssh utente@host2 'cat >> .ssh/authorized_keys'
A questo punto sempre dall’host che si collega aggiorniamo l’agent con le nuove chiavi.
$ ssh-add
Se l’ultimo comando si lamenta dicendo che non riesce a connettersi all’agent (con debian etch mi è successo, con ubuntu Gutsy no) digitiamo questo
$ ssh-agent /bin/bash
e poi ripetiamo ssh-add; ultima cosa assicuriamoci che i permessi siano:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*