我如何禁用 kvm 远程的 ssh 提示符

我如何禁用 kvm 远程的 ssh 提示符

当我将 KVM 虚拟机管理器升级到最新版本时,每次尝试远程连接到我的机器时都会收到一个问题提示:

The authenticity of host 'kvm.local (ip address)' can't be established.
ECDSA key fingerprint is b5:fa:0a:d0:39:af:0a:60:fa:04:87:6c:31:1d:13:15.
Are you sure you want to continue connecting (yes/no)? 

当我在虚拟机上更改任何设置时,我必须输入“yes”,然后在另一个对话框中输入 root 密码

使用 ubuntu 12.04 64位

答案1

我可以想到几种可以重复生成此消息的方法:

  1. 您已在客户端的 ssh 中关闭了 StrictHostKeyChecking 选项,并且客户机已重新安装,或已重新安装其 ssh 服务器。安装 ssh 服务器软件包时,它会生成新的指纹并将其安装在 /etc/ssh 中。请注意,较新版本的 ssh 会对主机名/地址进行哈希处理。

  2. 如果您要连接到新客户机(使用新 IP 或名称),或连接到旧客户机(但使用新 IP 或名称)。当 Kamil 使用桥接网络时,当使用默认网络时可能会出现此问题,因为各种客户的 ssh 命令会定向到主机。对于 NAT 防火墙后面的客户机也是如此,其中 ssh 的源位于防火墙的另一侧。解决方案是使用客户端 ssh 配置文件的 hostkeyalias 功能。

  3. 某些内容正在删除或修改您启动 ssh 的帐户中的 ~/.ssh/known_hosts 文件。

因此,要么是客人指纹发生了变化,要么是客人->名称->IP 地址的映射发生了变化,要么就是您正在使用 ssh 的帐户忘记了他们的指纹。

  1. 如果您连续两次连接同一个客户机,间隔数秒,并且无法确认主机“samename.local(相同 IP 地址)”的真实性。ECDSA 密钥指纹为 xx:yy: ...信息改变指纹,您可以通过检查其内容(而不是 MAC 地址)来确认您已访问了同一个客户机,您知道客户机正在更改其指纹。您应该能够通过检查ls -l客户机 /etc/ssh 目录的时间来确认这一点。如果您在中间重新启动,并且如果它来自 CD(不是)或安装 USB 密钥或安装 USB 密钥映像,这将是可以理解的。您也没有提到必须重新启动这些客户机才能收到错误。所以这种可能性似乎不大。

  2. 如果通过检查客户机的内容,您发现输入相同的 ssh 命令会带您进入新客户机,则说明名称->ip->客户机映射存在问题。这里可能出现很多问题。

  3. 如果您反复看到相同的实际指纹,并且发现客户机的 IP 和名称没有改变,则您的 ssh 客户端计算机可能会出现问题,从而删除 .ssh/known_host 文件的全部或部分。您可以使用 中的时间来确认这一点ls -l ~/.ssh/known_host。这对我来说似乎不太可能。

如果您没有在 ssh 客户端上禁用 StrictHostKeyChecking,它也可能有助于缩小范围。该选项通常是默认选项,如果 ssh 转到相同的 guest-guestname-guestip 并且指纹已更改,它将导致 ssh 连接失败。我知道这不是您遇到的问题,如果您反复连接到同一个地方,这会令人困惑。

我看到这种情况的时间是当我通过 ssh 连接到我的客户机并且他们被分配了新的 IP 地址时,或者当我从不同的帐户通过 ssh 连接到他们时。(每个帐户都有自己的 known_hosts 文件 - 它们不是计算机范围的)。

答案2

我的问题解决了。但我没时间提及它。将我~/.ssh/known_hosts从客户端移除并重新初始化连接后,它只要求我输入一次指纹。

然后重启客户端后它就再也没有要求我输入指纹了。感谢@John S Gruber 的提示

相关内容