2008-11-23 12 views
2

我想設置一個自動的rsync作業來將我OS X機器上的一組用戶帳戶備份到Linux文件服務器。我已經從我的帳戶設置免密碼的ssh到另一臺機器,它的偉大工程,所以我嘗試使用這個命令:OS X使用ssh_config在sudo下運行rsync

sudo rsync -avz /Users/jbloggs myserv:/var/Backup/ 

其中myserv是一個別名我~/.ssh/config成立。我遇到的問題是我必須使用sudo才能使該命令正常工作 - 在我的個人帳戶下,我無法訪問其他用戶的主目錄以複製備份文件。這個命令在沒有sudo的情況下可以正常工作,但是當我在sudo下運行時,它不再查看我的~/.ssh/config(所以它抱怨「unknown host myserv」)。

我如何獲得在sudo下運行的rsync仍然看我的個人~/.ssh/config

謝謝!

回答

4

您可以使用

ssh -i /Users/myuser/.ssh/id_rsa -F /Users/myuser/.ssh/config [email protected] 

讓SSH使用你的config /密鑰文件。使用「-v」來檢查它正在使用哪個文件。你也可以將你的配置/ id複製到/var/root/.ssh,當通過sudo使用ssh的時候默認會使用它。

通過這些選項,rsync,你可以設置 「--rsh」/ 「-E」 是這樣的:

rsync -e "ssh -i ... -F ..." 
+0

酷,感謝。在一般情況下(如果這不是家用電腦),那麼將我的ssh_config複製到/ var/root將是一個安全漏洞,不是嗎?這意味着任何具有sudo訪問權限的人都可以使用該配置連接到遠程主機? – 2008-11-24 09:19:31