-
问题描述
当服务器A远程服务器B出现下面问题如下图
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 RSA key sent by the remote host is
... ...
-
问题原因分析
- 服务器A 用SSH连接 服务器B时,会生成一个认证信息存放在 服务器B的~/.ssh/known_hosts文件中
- 当服务器B的认证密钥变更的时候,服务器A的known_hosts还是原有的,这时候就会出现上面的问题
-
解决办法
- 在服务器A上执行以下命令(删除原有保存服务器B的认证信息)
ssh-keygen -R 服务器B端ip地址
- 然后重新ssh连接服务器B,会出现下面的选项,选择yes就行。
The authenticity of host '10.163.78.173 (10.163.78.173)' can't be established. ECDSA key fingerprint is SHA256:3eUBWolt4XWQ6NjUfeLNiIx4SI7A4u****. ECDSA key fingerprint is MD5:5e:69:09:57:3c:c7:****. Are you sure you want to continue connecting (yes/no)? yes
- 在服务器A上执行以下命令(删除原有保存服务器B的认证信息)
总结
REMOTE HOST IDENTIFICATION HAS CHANGED
- 其实上述提示很清晰了,然后分析下原因,就有解决办法流程了。而不是像我一开始异常信息没有仔细看,然后就重新配置了免密登录信息,有点蠢。
- 遇到问题好好看提示,会省去很多必要的浪费。