SSH:远程主机标识已更改

SSH:远程主机标识已更改

我有一台运行 ubuntu 的机器和另一台运行 mac 的机器。它们连接到同一个路由器。

过去,我可以使用 ssh 和 IP 地址从我的 Mac 连接到 ubuntu。

我正在 ubuntu 机器上做大量的安装和升级工作。

然后,当我尝试从 Mac 访问 ubuntu 时,出现“远程主机标识已更改”错误,并且无法连接。

我搜索了互联网,得到了类似的资源。遗憾的是我对 SSH 的了解很少,但我愿意学习。

我得到的信息是,由于某种我不知道的原因,SSH 已经发生了变化。并且在文件的第 2 行中存在known_hosts有问题的旧密钥。

在链接的文章中说我应该删除有问题的行。

我的问题是:这是指 Mac 机器中的文件吗?(客户端)这样就足够了吗?

另一个问题是:

如果我删除该行,known_hosts当我再次连接时,该行是否会使用正确的密钥重新生成?

可以使用吗 ssh-keygen -R "you server hostname or ip"

谢谢您的帮助

答案1

您的 Ubuntu 机器的sshd主机密钥可能已更改,因为您在重新安装操作系统时没有保留它,因此必须生成一个新的。

是的,您可以按照所说的从客户端的 known_hosts 文件中删除该行来修复客户端上的错误消息。

是的,ssh-keygen -R hostname做同样的事情。

是的,当您下次连接时,它会询问您是否要接受(新)密钥,就像第一次一样。

答案2

从服务器角度看,客户端的指纹已发生改变。因此,您必须删除服务器上的以下行:已知主机包含你的客户端IP,但它将是再生稍后尝试连接给客户。

“ssh-keygen -R ip_地址”将会相同的事情:删除包含服务器端指纹的行。

相关内容