WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

问题背景

当我们尝试通过SSH(Secure Shell)连接到远程服务器时,有时会遇到一个警告信息:“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”。这个消息表明SSH客户端检测到远程主机的身份(即其SSH密钥)与之前记录在 known_hosts 文件中的信息不符。

具体的报错如下(部分信息已做脱敏处理):

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:pcb66b5/nvAdJqpH6HWb9SvFr+CH82qqL3XQNxGL3Uw.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in ~/.ssh/known_hosts:26
ECDSA host key for [111.222.113.114]:36000 has changed and you have requested strict checking.
Host key verification failed.

这种情况通常发生于以下几种场景之一:

  • 服务器更换了SSH密钥: 这可能是因为服务器的操作系统被重新安装或SSH服务的密钥被重新生成。
  • 网络安全问题: 可能存在中间人攻击,有人试图拦截或篡改您的SSH连接。
  • 本地known_hosts文件错误: 如果之前连接过同一个IP地址的不同服务器,或者手动编辑过该文件,也可能导致这个问题。

解决方案

known_hosts 文件中删除有关该服务器的旧密钥:

ssh-keygen -f "~/.ssh/known_hosts" -R "111.222.113.114"

或者更暴力一点,直接

rm ~/.ssh/known_hosts

你可能感兴趣的:(Problem,网络,linux,运维,服务器)