引言

在使用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文件中。

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐