在我的linux服务器上,运行以下命令:
sshpass -p 'password' rsync -avz /source/folder/ root@192.168.x.x:/dest/folder
Run Code Online (Sandbox Code Playgroud)
当我运行不带sshpass的命令时,它将为我提供有关主机和密码真实性的提示。
我需要一些等效于“ -o StrictHostKeyChecking = no”(用于ssh)的工具,它可以使我在没有任何提示或错误的情况下运行它。
我从谷歌搜索中看到的所有内容都是关于ssh引发错误而不是rsync的。
小智 10
这是没有输出错误的正确命令:
sshpass -p "yourpassword" rsync -rvz -e 'ssh -o StrictHostKeyChecking=no -p 22' --progress root@111.111.111.111:/backup/origin /backup/destination/
Run Code Online (Sandbox Code Playgroud)
如果要连接到尚未包含公共密钥的新服务器,则~/.ssh/knonwn_hosts不应跳过此仅安全检查,而应将服务器主机密钥known_hosts手动存储,确认其正确无误,然后使自动检查生效。
使用服务器主机密钥填充已知主机的最简单方法是使用
ssh-keyscan server-ip >> ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)
之后,您不需要使用StrictHostKeyChecking=no替代方法。
我在Cyberciti找到了以下命令。这让我可以做我需要做的事情。
$ rsync --rsh="sshpass -p myPassword ssh -o StrictHostKeyChecking=no -l username" server.example.com:/var/www/html/ /backup/