最近,我将我的 VPS 操作系统从 CentOS 更改为 Ubuntu。不幸的是,从那以后我无法连接到我的 VPS。以下消息一次又一次地出现(附上截图)。
为什么会发生这种情况,我该如何解决?
该消息会告诉您需要知道的一切。您需要编辑该文件,known_hosts
并删除从以前的操作系统中添加的违规密钥。
每次安装不同的发行版时,都会为每个主机生成一组新的公共/私有 SSH 密钥。
我通常只是打开文件vim
并转到错误消息中指定的行号:
/home/fahim/.ssh/known_hosts:1 中的违规 RSA 密钥
行号为 1。进入后vim
,转到第 1 行,:1然后将其删除,dd。完成后,保存文件,:w.
您也可以以编程方式从文件中删除条目,但要小心,它会删除 IP 和/或主机名的所有匹配项,具体取决于您使用的方法。
$ ssh-keygen -R <hostname or IP>
Run Code Online (Sandbox Code Playgroud)
注意:如果您查看消息,它会告诉您运行此类命令:
删除: ssh-keygen -f "/home/fahim/.ssh/known_hosts" -R 23.88.229.252
假设我有一个名为 smurfy 的主机。
$ ssh-keygen -R smurfy
# Host smurfy found: line 139 type RSA
/home/saml/.ssh/known_hosts updated.
Original contents retained as /home/saml/.ssh/known_hosts.old
Run Code Online (Sandbox Code Playgroud)
此处通过不使用-f
开关指定文件,ssh-keygen
将从默认known_hosts
文件中删除条目,该文件位于此处,/home/saml/.ssh/known_hosts
.