连接远程服务器的时候,如果会出现以下问题;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:EdxG+U28uJl7OxrG07oCnNDP9mryNoEp9/X/SsCWmaU.
Please contact your system administrator.
Add correct host key in /home/xx/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/xx/.ssh/known_hosts:1
remove with:
ssh-keygen -f "/home/xx/.ssh/known_hosts" -R "10.10.35.174"
ECDSA host key for 10.10.35.174 has changed and you have requested strict checking.
Host key verification failed.
问题分析:
这个错误消息表明远程服务器在你上次连接时的主机密钥(host key)发生了变化。主机密钥是SSH中用于确保你连接到正确服务器而不是一个恶意冒充者的安全特性。
出现这个错误的原因可能有几种:
- 合法更改: 远程服务器上的主机密钥可能已经合法更改。这可能发生在服务器被重新安装或其SSH配置被更新时。
- 安全威胁: 有人可能正在尝试进行中间人攻击。这是一种攻击方式,攻击者拦截两个通信方之间的通信。警告消息提醒你注意这种攻击可能性。
为了解决这个问题,你可以按照错误消息中提供的说明进行操作:
- 移除问题密钥: 你可以通过在终端中运行以下命令,从你的known_hosts文件中删除旧的密钥条目:
ssh-keygen -f "~/.ssh/known_hosts" -R <ip>
例如:
ssh-keygen -f "/home/xx/.ssh/known_hosts" -R "10.10.35.174"
- 删除known_hosts文件
known_hosts文件:你每连接一个新的服务器时,第一次连接的时候都会提示你说这是一台新的主机,询问你是否要连接,之后则会将这台主机的一些信息添加进这个文件,之后如果这个主机的信息没有改变,则不会再次询问你,否则会再次询问你是否连接