首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使我SSH到两台具有相同IP的不同机器上?

如何使我SSH到两台具有相同IP的不同机器上?
EN

Server Fault用户
提问于 2022-09-30 15:20:34
回答 2查看 708关注 0票数 2

我有两个类似的网络应用程序部署,每一个在不同的虚拟网络与私有IP地址。两者都有一个10.0.4.4的VM。

我可以从我的开发机器进入任何一个网络,SSH进入VM,但是当我切换网络时,SSH会对主机有不同的密钥而大惊小怪。

我是否可以针对一个主机名配置多个密钥签名以避免这种情况?推荐的连接到具有相同IP的不同机器的方法是什么?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2022-09-30 18:31:52

SSH检查它的known_hosts是否有此主机的所有条目。如果它们都不匹配,包括通常情况下所有都是单个条目,那么SSH就会投诉。

如果其中任何一个与SSH匹配,请在主机检查中成功。

来自man sshd的SSH_KNOWN_HOSTS文件格式:

在执行主机身份验证时,如果任何匹配行都具有正确的密钥,则接受身份验证;如果匹配行与正确的密钥匹配,或者如果服务器提供了用于身份验证的证书,则接受对证书进行签名的证书颁发机构的密钥。

...

对于相同的名称,允许(但不建议)有几行或不同的主机键。当将来自不同域的短形式主机名放入文件中时,这将不可避免地发生。文件可能包含相互冲突的信息;如果可以从任何文件中找到有效信息,则接受身份验证。

其中一种(较少的)常用是SSH服务器,通常通过VIP在高可用性上下文中用作SFTP服务器:当故障从一个节点转移到另一个节点时,主机身份验证可能会发生变化。

您可以两次使用ssh-keyscan 10.0.4.4并附加其他选项(例如用于哈希隐私的选项-H ):一次在每个不同的VM上,检索所有可能的主机密钥,然后将它们或其中的一些附加到~/.ssh/known_hosts中。

然后将不再发生身份验证错误,直到尝试访问具有相同地址的第三个无关节点。

票数 2
EN

Server Fault用户

发布于 2022-09-30 17:00:18

您不确定开发机器的操作系统,但这在Linux或Mac上都适用于openSSH。

从命令行

代码语言:javascript
运行
复制
ssh -o StrictHostKeyChecking=no 10.0.4.4

或者用行设置~/..ssh/config

代码语言:javascript
运行
复制
Host 10.0.4.4
StrictHostKeyChecking=no

如果您控制VM,并且它们是Linux,则可以将/etc/ssh/中的所有关键文件从一个VM复制到另一个VM,然后重新启动sshd。这将提供相同的主机密钥。

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

https://serverfault.com/questions/1111985

复制
相关文章

相似问题

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