SSH 主机密钥不断变化

Nan*_*n L 5 ssh ubuntu

我正在尝试在网络上的 Ubuntu 机器上设置 Web 服务(使用 Play 框架)。但是,我遇到连接到它的间歇性故障,经常无法连接到它。

一个奇怪的症状是这些网络问题也会影响 SSH,特别是机器的 SSH 主机密钥会发生变化,无论我是从另一台 Linux 机器还是从 Windows 使用 PuTTY 连接到它。一系列事件似乎是这样的:

  • 过了一会儿,我可以再次通过 SSH 进入机器。
  • 我访问 Web 服务器上的一页。有用。我尝试访问另一个页面。它失败。
  • 此后不久,我的 SSH 连接就被终止了。
  • 我尝试通过 SSH 连接 - 无法建立连接。
  • 一段时间后,我尝试通过 SSH 登录 - 主机密钥已更改。我接受更改并尝试登录,但我收到“拒绝访问”以响应我的密码。
  • 一段时间后,我可以再次通过 SSH 连接到机器。

刚才我接受了密钥更改,尝试登录,在我输入密码之前断开连接,然后重新连接才看到密钥再次更改。

什么可能导致 SSH 主机密钥更改?如果这是 SSH 服务器响应某种奇怪行为的正常功能,这意味着什么类型的问题?

Gil*_*il' 12

这绝对不正常。鉴于您的症状,我认为您遇到了 IP 地址冲突。您的网络上有两台具有相同 IP 地址的机器,其中一台是您要访问的服务器。有时您到达了预期的机器,一切都很好。有时,您正在访问另一台具有不同 SSH 密钥的计算机,但您的连接被拒绝。

当存在 IP 地址冲突时,路由器通常会锁定到一个 IP 地址的路由,直到缓存过期,然后再次查询该路由并更新它以匹配谁先响应,从而产生一些随机的结果。没有什么可以阻止切换发生在 TCP 连接的中间。

当 IP 冲突发生时,复杂的路由器会发出警报,因此您的网络管理员可能已经在跟踪此事。如果您是服务器的 root,则可以通过选择未分配的 IP 地址来解决它。如果您通过 DHCP 获取 IP 地址,请联系 DHCP 管理员。