我有一台运行 ubuntu 的机器,另一台是 mac。它们连接到同一个路由器。
过去,我可以使用 ssh 和 IP 地址从我的 mac 连接到 ubuntu 和 ubuntu 的使用。
另一方面,我在 ubuntu 机器上做了很多安装和升级。
然后,当我尝试从 mac 访问 ubuntu 时,出现“远程主机标识已更改”错误并且无法连接。
我搜索了互联网,我得到了这样的资源。不幸的是,我对 SSH 的了解很少,但我愿意学习。
由于某种我不知道的原因,我知道了,SSH 已经改变了。并且在文件的第 2 行中称为known_hosts
有问题的旧密钥。
在链接的文章中,它说我应该删除有问题的行。
我的问题是:这是指mac机器中的文件吗?(客户)这就够了吗?
另一个问题是:
如果我删除线路,known_hosts
当我再次连接时,这条线路是否会用正确的密钥重新生成?
这可以使用
ssh-keygen -R "you server hostname or ip"
吗?
谢谢您的帮助
您的 Ubuntu 机器的
sshd
主机密钥可能已更改,因为您在重新安装操作系统时没有保留它,因此它必须生成一个新的。是的,您可以通过从客户端的 known_hosts 文件中删除该行来修复客户端上的错误消息,如您所说。
是的,
ssh-keygen -R hostname
做同样的事情。是的,当您下次连接时,它会询问您是否要接受(新)密钥,就像第一次一样。
客户端的指纹已从服务器视图中更改。因此,您必须删除服务器上known_hosts下包含您的客户端 ip 的行,但稍后在尝试连接到客户端时会重新生成该行。
“ssh-keygen -R ip_address”也会做同样的事情:删除服务器端包含指纹的行。