我想將一些文件rsync同步到我擁有的備份主機上。
我希望能夠做到這一點作爲一個cron用戶(在這個例子中命名爲cron_user)。
目標主機在〜/ .ssh/authorized_keys文件中有一個「from」行,並帶有ip地址,並且我已將私有DSA密鑰複製到用戶受保護的目錄(在封裝的ssh -i命令中指定)。rsync文件作爲用戶使用ssh密鑰
我仍然被提示輸入密碼。有沒有另外一種解決方法,或者有什麼我錯過繞過需要密碼和引用我指定的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 [email protected]:/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 /的IP上市。 SSH/authorized_keys文件:
[[email protected] 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調用從這裏開始,沒有任何問題列出的其他主機相同的密鑰文件測試...
如果您只是從命令提示符運行'ssh -i/var/cron_user/cron_user uptime',會發生什麼?它工作嗎?或不?如果沒有,在遠程服務器上的日誌中是否有用? – larsks 2012-04-04 00:39:49
我會首先查看文件權限:SSH可以對這些進行排除。其次,我會查看selinux審計文件,密鑰文件可能有不正確的上下文,並且其正確的上下文可能無法用於ssh。 – MattH 2012-04-04 10:37:28
證實了SELinux是完全禁用,按通常在我們的系統:eshrago @ hbackup00的SELinux] $ PWD 的/ etc/SELinux的 [eshrago @ hbackup00的SELinux] $ grep的禁用配置 #\t禁用 - SELinux的是完全禁用。 SELINUX =禁用 [eshrago @ hbackup00 selinux] $ – user1172482 2012-04-05 18:40:28