我正在通过笔记本电脑对服务器 x1.example.com 进行 ssh,有时来自外部,有时来自局域网。从 lan 我只是说
ssh karl@x1
从万:
ssh karl@x1.example.com
但是从 lan 我总是收到警告:远程主机标识已更改。
我每次都可以删除 known_hosts 文件中的另一个键,但我想知道是否有更好的解决方案。
我正在犹豫是否要关闭密钥验证,因为这样会不太安全。但是一直收到警告也是不安全的(因为我一直忽略这些警告)
我正在通过笔记本电脑对服务器 x1.example.com 进行 ssh,有时来自外部,有时来自局域网。从 lan 我只是说
ssh karl@x1
从万:
ssh karl@x1.example.com
但是从 lan 我总是收到警告:远程主机标识已更改。
我每次都可以删除 known_hosts 文件中的另一个键,但我想知道是否有更好的解决方案。
我正在犹豫是否要关闭密钥验证,因为这样会不太安全。但是一直收到警告也是不安全的(因为我一直忽略这些警告)
在 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 文件添加一个新的正确密钥,此警告将消失。
从技术上讲,我认为它实际上是一个名字。
分配第二个主机名(可能通过您的主机文件)以从 WAN 访问您的服务器:例如:
ssh karl@x1wan.example.com
我通过 ssh 访问具有两个不同名称(相同 IP)的服务器,没有任何警告。例如:name1.example.com 和 name2.example.com
非常感谢您的回答。
抱歉,我丢失了基于 cookie 的登录信息,无法再评分或编辑。当我从 LAN 更改为 WAN 时,您的问题帮助我解决了这个问题。我认为这个问题已经解决了。
但现在我发现问题更严重了,因为我在同一个 IP 上也有 2 台主机,而且 IP 也发生了变化,我在一个新问题中涵盖了这个问题(来自我不能再丢失的新帐户),其中包含更多详细信息: