我有一个运行在IP1主机上的bash脚本。该脚本使用IP2对远程主机执行ssh
ssh ubuntu@IP2 "ls -l ~"
The ssh replies with a
The authenticity of host 'IP2 (IP2)' can't be established.
ECDSA key fingerprint is SHA256:S9ESYzoNs9dv/i/6T0aqXQoSXHM.
Are you sure you want to continue connecting (yes/no)? 我想自动化对上面的ssh命令的响应"yes“。我如何在bash脚本中做到这一点呢?IP2是一个随机IP,因此我无法将其添加到主机IP1上的已知主机列表中。
发布于 2018-07-28 14:07:31
你测试过"StrictHostKeyChecking“选项吗:
ssh -o "StrictHostKeyChecking no" root@10.x.x.x发布于 2018-07-28 14:05:00
如果你不想验证/检查指纹,你可以使用如下命令:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ubuntu@IP2 "ls -l ~"它是这样工作的:
-o UserKnownHostsFile=/dev/null
UserKnownHostsFile参数指定用于存储用户主机密钥的数据库文件(默认值为~/.ssh/known_hosts)。
通过将空设备文件配置为主机密钥数据库,SSH会被误认为SSH客户端以前从未连接过任何SSH服务器,因此永远不会遇到不匹配的主机密钥。
-o StrictHostKeyChecking=no
参数StrictHostKeyChecking指定SSH是否会自动向主机密钥数据库文件添加新的主机密钥。通过将其设置为no,将自动为所有首次连接添加主机密钥,而无需用户确认。
有关更多细节,请访问:How to disable SSH host key checking
https://stackoverflow.com/questions/51568543
复制相似问题