您有多个known_hosts文件

您有多个known_hosts文件

我已经重新安装了远程服务器的操作系统,现在当我尝试ssh root@myserverIP从本地机器上执行此操作时,我得到:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /var/root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /var/root/.ssh/known_hosts:3
ECDSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking.
Host key verification failed.

xxx只是为了隐藏真实信息)

我没有更改密钥,而是选择完全删除 中的所有内容.ssh/known_hosts,希望系统再次提示我添加密钥。但我仍然收到同样的错误。

因此,我甚至尝试手动删除单个键:

ssh-keygen -R xxx.xxx.xxx.xxx

当然,它不在那里,因为known_hosts现在是空的:

Host xxx.xxx.xxx.xxx not found in /Users/xxx/.ssh/known_hosts

但是,我仍然一次又一次地收到相同的错误。这令人困惑 -ssh如果为空,从哪里获取信息known_hosts

当然,我已经重启了 Mac,甚至还刷新了缓存。也许是ssh在使用其他的known_hosts?但它在哪里?我试过了,但在驱动器中locate找不到任何其他文件。known_hosts

我做错了什么?我该如何解决这个问题?

答案1

您有多个known_hosts文件

从你的描述来看,你似乎从你的 known_hosts文件:

Host xxx.xxx.xxx.xxx not found in /Users/xxx/.ssh/known_hosts

您的主目录大概位于哪里/Users/xxx/。但是,原始错误消息抱怨:

Offending ECDSA key in /var/root/.ssh/known_hosts:3

因此,移除密钥后/var/root/.ssh/known_hosts错误消息就会消失。

相关内容