1

我正在尝试将一些文件同步到我拥有的备份主机上。
我希望能够以 cron 用户(在本例中名为 cron_user)的身份执行此操作。
目标主机在 ~/.ssh/authorized_keys 文件中有一个带有 IP 地址的“发件人”行,我已将私有 DSA 密钥复制到用户保护目录(在封装的 ssh -i 命令中指定)。

我仍然收到提示输入密码。有没有其他方法可以解决这个问题,或者我是否遗漏了一些绕过需要密码并引用我指定的 ssh 密钥的东西?

sudo rsync  --timeout=3600 -azO  -e 'ssh -i /var/cron_user/cron_user' /tmp/bacup1-$(date'+%Y-%m-%d' ).tgz /tmp/backup2$(date '+%Y-%m-%d' ).tgz cron_user@hbackup00:/database/backups/app_backup/

经过进一步调查,使用 -v 表明它不允许使用基于 IP 的密钥:

 IP: debug1: Remote: Your host '10.5.122.118' is not permitted to use this key for login. 

虽然我在 /home/user_cron/.ssh/authorized_keys 文件中列出了 IP:

 [root@hbackup00 user]# cat ~cron_user/.ssh/authorized_keys 
 from="10.5.112.42,10.5.122.118,10.5.100.200,10.5.100.205,10.5.99.223,10.4.99.229,10.4.99.223,10.4.100.182" ssh-dss

我是否缺少允许该用户在没有密码的情况下进行身份验证的东西?我已经使用 ssh -i 从此处列出的其他主机调用相同的密钥文件进行了测试,没有问题...

4

2 回答 2

1

以下是一些帮助您调试的建议:

  • 直接试试ssh,不用rsync。这将有助于隔离问题——如果它仍然失败,您需要测试的东西就更少了,如果它有效,那么您知道正在执行的ssh调用rsync与您认为的不同,您可以对其进行调查。

  • 打开服务器上的日志记录。在/etc/ssh/sshd_config,设置LogLevel VERBOSE或更高。(参见sshd_config手册页。)有时服务器会记录它不与客户端共享的有趣信息。

  • 在您的客户端命令行中打开更高的日志记录,使用-vvv.

于 2012-04-05T23:22:52.973 回答
0

sshd 是被傀儡控制的。哦!

于 2012-04-09T16:59:59.723 回答