OS X esegue rsync su sudo usando ssh_config
Domanda
Voglio impostare un lavoro automatico rsync
per eseguire il backup di un sacco di account utente sul mio computer OS X su un fileserver linux. Ho impostato ssh senza password dal mio account su un'altra macchina e funziona benissimo, quindi ho provato a usare questo comando:
sudo rsync -avz /Users/jbloggs myserv:/var/Backup/
dove myserv
è un alias impostato nel mio ~ / .ssh / config
. Il problema che ho è che devo usare sudo per far funzionare quel comando - sotto il mio account personale non ho accesso alle home directory degli altri utenti per copiare i file per il backup. Questo comando funziona bene sul mio account senza sudo, ma quando corro su sudo non guarda più il mio ~ / .ssh / config
(quindi si lamenta di " unknown host myserv ").
Come posso far funzionare rsync su sudo per guardare ancora il mio ~ / .ssh / config
personale?
Grazie!
Soluzione
Puoi usare
ssh -i /Users/myuser/.ssh/id_rsa -F /Users/myuser/.ssh/config login@host
per consentire a ssh di usare i tuoi file config / key. Usa " -v " per verificare quale file sta utilizzando. Puoi anche copiare la tua configurazione / id in /var/root/.ssh, che verrà usata di default quando usi ssh via sudo.
Per passare queste opzioni a rsync, devi impostare " - rsh " / " -e " in questo modo:
rsync -e "ssh -i ... -F ..."