2017-06-02 89 views
0

在我的Linux服务器I运行命令:主机密钥验证失败与sshpass rsync的

sshpass -p 'password' rsync -avz /source/folder/ [email protected]:/dest/folder 

当我不sshpass它会为我提供主机和密码的真实性提示运行命令。

我需要一些等同于“-o StrictHostKeyChecking = no”(我用于ssh),这将允许我运行这个没有提示或错误。

我从Google上看到的一切都是关于ssh抛出错误而不是rsync。

回答

0

我在cyberciti处发现了以下命令。这使我能够做到我所需要的。

$ rsync --rsh="sshpass -p myPassword ssh -o StrictHostKeyChecking=no -l username" server.example.com:/var/www/html/ /backup/

+1

这是非常不好的做法,跳过阻止你,你和你的服务器,窃取密码之间获得恶意攻击者唯一的检查,听取不管你转移并可能修改它。 – Jakuje

+1

我不在乎这一点。我的服务器和它的整个网络都被封闭在一个安全的房间里。 – khm

1

如果你要连接到新的服务器,其公钥是尚未在您~/.ssh/knonwn_hosts,你不应该跳过这唯一的安全检查,而是手动存储在known_hosts服务器主机密钥,验证它是正确的,然后使自动检查工作。

最简单的方式来获得填入服务器主机密钥的已知主机使用

ssh-keyscan server-ip >> ~/.ssh/known_hosts 

之后,你不应该需要使用StrictHostKeyChecking=no解决方法。

0

这是不输出错误的权利,命令:

sshpass -p "yourpassword" rsync -rvz -e 'ssh -o StrictHostKeyChecking=no -p 22' --progress [email protected]:/backup/origin /backup/destination/ 
相关问题