November 30, 2004

crontab run rsync: Host key verification failed

在 FreeBSD 下用 root 直接跑下面的指令(已和 host 建好 authorized_keys)
rsync -avz -e ssh host:/remotedir /localdir
正常

放到 crontab 使用 root 執行, 卻會出現如下錯誤
WARNING: RSA key found for host somehost.com
in /root/.ssh/known_hosts:16
RSA key fingerprint 12:34:56:78:90:92:02:5d:e5:bb:9b:c2:0e:cb:00:ff.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(348)

查了許久, 終於找到答案: console 下用的 ssh 和 crontab 下用的 ssh 不一樣

由於我有另外裝 OpenSSH
在 console 下 /usr/local/bin 的 path 排前面, 使用 /usr/local/bin
crontab 下 /usr/local/bin 的 path 排前面, 使用 /usr/bin
在我的環境下
freebsd 內建的 /usr/bin/ssh 會使用 DSA key fingerprint
OpenSSH 會使用 /usr/local/bin/ssh 會使用 RSA key fingerprint
所以才會產生 Host key verification failed. 的問題

Posted by pank at November 30, 2004 02:39 PM
Comments
Post a comment













Remember personal info?