首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化ssh响应

自动化ssh响应
EN

Stack Overflow用户
提问于 2018-07-28 13:59:16
回答 2查看 164关注 0票数 1

我有一个运行在IP1主机上的bash脚本。该脚本使用IP2对远程主机执行ssh

代码语言:javascript
复制
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上的已知主机列表中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-28 14:07:31

你测试过"StrictHostKeyChecking“选项吗:

代码语言:javascript
复制
ssh -o "StrictHostKeyChecking no" root@10.x.x.x
票数 1
EN

Stack Overflow用户

发布于 2018-07-28 14:05:00

如果你不想验证/检查指纹,你可以使用如下命令:

代码语言:javascript
复制
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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51568543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档