虚拟集群服务器指纹冲突

虚拟集群服务器指纹冲突

我创建了三台虚拟机(Ubuntu Server 22.04 LTS),一台用于控制,另外两台用于节点。控制运行正常,我可以访问它,但是当我尝试访问节点 1 时,出现此错误:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the (omissis) key sent by the remote host is
(omissis)
Please contact your system administrator.
Add correct host key in /home/(omissis)/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/(omissis)/.ssh/known_hosts:11
  remove with:
  ssh-keygen -f "/home/(omissis)/.ssh/known_hosts" -R "[(vm IP, omissis)]:3022"
Host key for [(vm IP, omissis)]:3022 has changed and you have requested strict checking.
Host key verification failed.

我认为这是因为虚拟机共享 IP 地址,但文件known_hosts~/.ssh已经保存了控制 IP 地址。我想同时访问它们两个(实际上我想要的任意多个)。我该怎么做?如何强制将另一个已知主机添加到列表中?

先感谢您

答案1

类似的问题

有两种可能的解决方案。

  1. 复制服务器指纹(由于安全问题不建议这样做)

如果匹配包含指纹的文件(/etc/ssh/ssh_host*),则不会因指纹不匹配而给出错误。

  1. known_hosts在客户端创建多个文件

通过将主机配置添加到~/.ssh/config,可以使用指向同一台机器的不同指纹。有关更多信息,请参阅man ssh_config

示例(来自链接):

Host windows.dualbootbox
    Hostname 192.168.10.20
    UserKnownHostsFile ~/.ssh/windows.dualbootbox.known_hosts

Host ubuntu.dualbootbox
    Hostname 192.168.10.20
    UserKnownHostsFile ~/.ssh/ubuntu.dualbootbox.known_hosts

答案2

所以我用 GUI 方式解决了这个问题。首先,在 VirtualBox 上转到fileHost Network Manager

主机网络管理器

下一个,create

p2

很快就到你虚拟节点settings然后network

nat1

选择NAT,然后。使用右上角的Port Forwarding Rules小按钮创建一个新的端口转发规则。+

在此处输入图片描述

为了

Name: ssh
Protocol: TCP
Host Port: 3022
Guest Port: 22

ok并转到Adapter 2。启用它并选择Host-only Adapter

在此处输入图片描述

启用Adapter 3并选择Bridged Adapter

在此处输入图片描述

现在,您可以对集群的每个节点重复每个步骤(第一步除外)。如果这样做,就不会出现 IP 冲突。

相关内容