rsync文件作为用户使用ssh密钥

我正在尝试将某些文件同步到我拥有的备份主机。
我希望能够以cron用户的身份执行此操作(在本例中命名为cron_user)。
目标主机在〜/ .ssh / authorized_keys文件中有一个“from”行,并带有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调用与此处列出的其他主机相同的密钥文件,没有问题...


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

  • 无需rsync即可直接尝试ssh 。 这将有助于隔离问题 - 如果它仍然失败,则测试的次数会减少,如果结果正常,那么您知道rsync正在执行的ssh调用与您认为的ssh调用不同,您可以调查此问题。

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

  • 使用-vvv在客户端命令行中调高日志记录。


  • sshd是傀儡控制的。 D'哦!

    链接地址: http://www.djcxy.com/p/60041.html

    上一篇: rsync files as user using ssh key

    下一篇: Is it possible to specify a different ssh port when using rsync?