我正在使用以下命令进行Rsync:
# rsync -arvce ssh /tmp/rsync/file.txt user@domain:/tmp/rsync/
这很好用,我必须在多个地方执行此操作,因此我想实现StrictHostKeyChecking
选项。
在阅读其他在线示例后,我添加了这样的选项(3个示例):
# rsync -arvce ssh -o 'StrictHostKeychecking no' /tmp/rsync/file.txt user@domain:/tmp/rsync/
# rsync -arvce ssh -o 'StrictHostKeychecking=no' /tmp/rsync/file.txt user@domain:/tmp/rsync/
# rsync -arvce ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no /tmp/rsync/file.txt user@domain:/tmp/rsync/
我仍然会收到提示验证目标服务器密钥的信息。 我了解 -o StrictHostKeychecking = no 选项让我选择是否在每次打开连接时绕过该步骤。
我做错了吗?
这里'我读过一些关于此的链接:
http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
http://www.thegeekstuff.com/2010/04/how-to-fix-offending-key-in-sshknown_hosts-file/
http://www.cyberciti.biz/faq/linux-appleosx-howto-disable-ssh-host-key-checking/
答案 0 :(得分:40)
我已经解决了。
这是添加该选项的正确(或最正确)方式:
# rsync -e "ssh -o StrictHostKeyChecking=no" -arvc /tmp/rsync/file.txt user@domain:/tmp/rsync/
通过添加双引号并将 ssh 放入其中,似乎有一种应用该选项的挑战方式。