解决SSH连接时遇到的“远程主机身份验证已更改 (WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)”警告
文章目录
- 引言
- 警告信息解读
- 造成原因
- 解决方案
引言
在使用SSH协议进行远程服务器管理的过程中,可能会遇到这样的情况:当尝试通过SSH连接到某个远程主机时,终端突然弹出一条警告信息,提示“远程主机身份验证已更改”。
警告信息解读
首先,让我们来看一下警告信息的具体内容:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:Jhv1k2vBppP3aWKWODFzCoLNWpwYKm29xp0xQ6b5gdw.
Please contact your system administrator.
Add correct host key in C:\\Users\\Tang/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\Tang/.ssh/known_hosts:37
ECDSA host key for 229.62.206.56 has changed and you have requested strict checking.
Host key verification failed.
造成原因
- 远程主机变更:如果远程服务器进行了系统重装、升级或SSH服务重新配置等操作,其SSH主机密钥很可能会随之改变。便会出现这种提醒
解决方案
- 更新本地
known_hosts
文件:- 找到并编辑
C:\Users\用户名\.ssh\known_hosts
文件。 Offending ECDSA key in C:\\Users\\Tang/.ssh/known_hosts:37
指出问题出在第37行。在known_hosts 中查找并删除与问题主机相关的旧条目,可以用vscode等打开,vscode会显示行号。- 尝试再次连接到远程主机。此时,SSH客户端会询问您是否接受新的主机密钥。输入“yes”,新密钥将会被添加到
known_hosts
文件中。
- 找到并编辑