3

我正在通过笔记本电脑对服务器 x1.example.com 进行 ssh,有时来自外部,有时来自局域网。从 lan 我只是说

ssh karl@x1

从万:

ssh karl@x1.example.com

但是从 lan 我总是收到警告:远程主机标识已更改。

我每次都可以删除 known_hosts 文件中的另一个键,但我想知道是否有更好的解决方案。

我正在犹豫是否要关闭密钥验证,因为这样会不太安全。但是一直收到警告也是不安全的(因为我一直忽略这些警告)

4

3 回答 3

4

在 known_hosts 文件中,您可以为一个键列出多个名称甚至 IP,例如:

x1,x1wan.example.com,192.168.0.134,23.41.51.23 ssh-rsa AAAA/bunch/of/gibberish/looking/data/==

但这不是你的问题。如果您收到主机标识已更改的警告,这确实意味着。这意味着在您第一次从 lan 连接到该主机的那一刻到现在,有人为该主机重新生成了主机密钥,例如在重新安装操作系统时。或者你有一个中间人攻击。

与您的管理员确认已重新安装主机并重新生成主机密钥,然后从您的 known_hosts 文件中删除旧密钥。下次连接时,您将向 known_hosts 文件添加一个新的正确密钥,此警告将消失。

于 2009-03-30T14:05:32.983 回答
1

从技术上讲,我认为它实际上是一个名字。

分配第二个主机名(可能通过您的主机文件)以从 WAN 访问您的服务器:例如:

ssh karl@x1wan.example.com

我通过 ssh 访问具有两个不同名称(相同 IP)的服务器,没有任何警告。例如:name1.example.com 和 name2.example.com

于 2009-03-30T11:20:07.203 回答
0

非常感谢您的回答。

抱歉,我丢失了基于 cookie 的登录信息,无法再评分或编辑。当我从 LAN 更改为 WAN 时,您的问题帮助我解决了这个问题。我认为这个问题已经解决了。

但现在我发现问题更严重了,因为我在同一个 IP 上也有 2 台主机,而且 IP 也发生了变化,我在一个新问题中涵盖了这个问题(来自我不能再丢失的新帐户),其中包含更多详细信息:

如何在同一(但不断变化的)IP 地址上处理 2 个不同主机的 ssh 主机密钥验证?

于 2009-04-09T11:11:29.023 回答