OS X使用ssh_config在sudo下运行rsync

时间:2008-11-23 13:34:46

标签: macos ssh rsync

我想设置一个自动rsync作业,将OS X计算机上的一堆用户帐户备份到linux文件服务器。我已经从我的帐户设置了无密码ssh到另一台机器,它运行良好,所以我尝试使用这个命令:

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

其中myserv是我~/.ssh/config中设置的别名。我遇到的问题是我必须使用sudo才能使该命令工作 - 在我的个人帐户下,我无法访问其他用户的主目录来复制备份文件。该命令在没有sudo的情况下在我自己的帐户上正常工作,但是当我在sudo下运行时,它不再查看我的~/.ssh/config(所以它抱怨“未知主机myserv”)。

如何在sudo下运行rsync仍然可以查看我的个人~/.ssh/config

谢谢!

1 个答案:

答案 0 :(得分:4)

您可以使用

ssh -i /Users/myuser/.ssh/id_rsa -F /Users/myuser/.ssh/config login@host

让ssh使用你的配置/密钥文件。使用“-v”检查它正在使用哪个文件。您还可以将配置/ ID复制到/var/root/.ssh,默认情况下,在通过sudo使用ssh时将使用它。

要将这些选项传递给rsync,您必须像这样设置“--rsh”/“ - e”:

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