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
入服务器确保RSAAuthentication
、PubkeyAuthentication
和UsePAM
选项不会被禁用,因为默认情况下它们是通过yes
. - 如果您在生成客户端密钥时输入了密码,那么您可以尝试
ssh-agent
在ssh-add
会话中实现无密码连接。 /var/log/auth.log
检查上的内容服务器找出根本跳过密钥身份验证的问题。
答案2
需要考虑三件事:
1) 远程主机是否配置为允许密钥身份验证? (参见man sshd_config
AuthenticationMethods 和 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