ECDSA 错误 ssh 到两个具有相同 IP 地址的代理机器

ECDSA 错误 ssh 到两个具有相同 IP 地址的代理机器

我有两个网络,每个网络后面都有一个堡垒主机和一个 Web 应用主机。我已经设置了,~/.ssh/config这样ProxyCommand我就可以用一个命令从本地计算机登录到任一 Web 应用主机ssh,如下所示:

Host example.production
Hostname 54.0.10.1

Host example.production.web
Hostname 10.0.10.1
ProxyCommand ssh example.production nc %h %p 2> /dev/null

Host example.demo
Hostname 54.0.20.1

Host example.demo.web
Hostname 10.0.10.1
ProxyCommand ssh example.demo nc %h %p 2> /dev/null

问题是两个 webapp 主机10.0.10.1(在不同的网络中),因此 ssh 抱怨 ECDSA 密钥不匹配。我能做些什么来表明这是两台独立的机器,具有独立的 ECDSA 密钥?

答案1

一个选项是使用/etc/hosts包含备用 DNS 记录的文件。例如;

10.0.10.1 host1 10.0.10.1 host2

然后,您的 ssh 配置Hostname参数将具有与 hosts 文件中相同的相应 DNS 名称。ssh 将看到主机名并使用它来进行密钥匹配。

或者,您可以禁用严格主机密钥检查。将其放入每个主机条目下的 ssh 配置中;

StrictHostKeyChecking no

这将禁用它们的 ECDSA 检查。

相关内容