带密钥的 SSH 连接,无法与 rsync 配合使用

带密钥的 SSH 连接,无法与 rsync 配合使用

创建没有密码的密钥后,我可以使用 SSH 登录到我的远程主机:

$ ssh [email protected]
Welcome to Ubuntu 14.04.1...

但是,当我尝试使用 SSH rsync 到同一个远程主机时:

$ sudo rsync -avczr -e ssh /home [email protected]:/destination

它要求我输入 machine.local 上的 root 密码。

为什么 SSH 需要使用密码登录 rsync,而直接连接时却需要使用密钥?如何使 rsync 连接使用密钥工作?

我注意到的一件事可能与之相关,那就是我收到的第一个“无法确定主机的真实性”消息提到了 ECDSA 密钥指纹,而我用于直接连接的密钥是 RSA。

答案1

原来问题出在我使用 调用时rsyncsudo因此以 root 身份运行。因此,ssh调用 viarsync未使用我的用户~/.ssh/id*文件,但查找后/root/.ssh/id_*未找到任何文件。

我将 ~/.ssh/id*文件复制到/root/.ssh/,现在它可以正常工作了。

相关内容