[英]rsync files as user using ssh key
我正在嘗試將一些文件同步到我擁有的備份主機上。
我希望能夠以 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 進行了測試 - 我從此處列出的其他主機調用相同的密鑰文件,沒有問題......
以下是一些幫助您調試的建議:
直接嘗試ssh
,不使用rsync
。 這將有助於隔離問題——如果它仍然失敗,那么您需要測試的東西就更少了,如果它有效,那么您就知道rsync
正在執行的ssh
調用與您認為的不同,您可以對此進行調查。
打開服務器上的日志記錄。 在/etc/ssh/sshd_config
中,設置LogLevel VERBOSE
或更高。 (請參閱sshd_config
手冊頁。)有時服務器會記錄它不與客戶端共享的有趣信息。
使用-vvv
在客戶端命令行中調高日志記錄。
sshd 是傀儡控制的。 哦!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.