sshpass rsync主机密钥验证失败

khm*_*khm 1 ssh rsync sshpass

在我的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)


Jak*_*uje 8

如果要连接到尚未包含公共密钥的新服务器,则~/.ssh/knonwn_hosts不应跳过此仅安全检查,而应将服务器主机密钥known_hosts手动存储,确认其正确无误,然后使自动检查生效。

使用服务器主机密钥填充已知主机的最简单方法是使用

ssh-keyscan server-ip >> ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)

之后,您不需要使用StrictHostKeyChecking=no替代方法。

  • 对于在非标准端口上运行 SSH 的用户,cmd 应该是: `ssh-keyscan -p port server-ip >> ~/.ssh/known_hosts` (3认同)

khm*_*khm 6

我在Cyber​​citi找到了以下命令。这让我可以做我需要做的事情。

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

  • 我不在乎那个。我的服务器及其整个网络物理封闭在一个安全的房间内。 (3认同)
  • 这是非常糟糕的做法,跳过防止恶意攻击者进入您和您的服务器并窃取您密码的唯一检查,监听您传输的任何内容并可能对其进行修改。 (2认同)