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!

È stato utile?

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 ..."
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top