rsync到远程服务器无需密码

rsync到远程服务器无需密码

rsync我在连接到远程服务器和我的备份时似乎遇到了一些问题

到目前为止我做了什么

运行 ssh-keygen 创建的公钥和私钥

跑步 ssh-copy-id -i my.key.pub 100.0.0.01

一切都连接正常,我什至去了远程服务器并检查 .ssh/authorized_key并确认钥匙在那里

但是当我运行时ssh 100.0.0.01它仍然要求输入密码,而且当我运行cron作业时rsync它会因权限被拒绝而失败。

有人对为什么无法连接有任何想法吗?

答案1

  • ~/.ssh检查文件夹及其内容的权限客户服务器机器。
  • /etc/ssh/ssd_config服务器确保RSAAuthenticationPubkeyAuthenticationUsePAM选项不会被禁用,因为默认情况下它们是通过yes.
  • 如果您在生成客户端密钥时输入了密码,那么您可以尝试ssh-agentssh-add会话中实现无密码连接。
  • /var/log/auth.log检查上的内容服务器找出根本跳过密钥身份验证的问题。

答案2

需要考虑三件事:

1) 远程主机是否配置为允许密钥身份验证? (参见man sshd_configAuthenticationMethods 和 PubkeyAuthentication)

2) cron 作业是否计划在正确的用户上下文下运行(root 与其他用户)

3) 远程主机是否有访问目标目录的权限。

答案3

cd
ssh-keygen 
cp .ssh/id_rsa.pub .ssh/authorized-keys
ssh-copy-id -i .ssh/id_rsa.pub 100.0.0.1

相关内容