【异常修复】服务器发生变更后使用VS Code连接报错
问题呈现
使用VS Code通过跳板机远程连接服务器,已做好各项设置,然而在服务器重装系统后发生异常。连接产生报错:
为诊断问题,在跳板机上使用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:***************************************.
Please contact your system administrator.
问题定位
根本问题
之前使用ssh连接过服务器,因此ssh会保存该服务器IP的连接协议信息,再次连接服务器时会自动匹配之前保存的信息,由于此时服务器发生了变更,因此已经保存的ssh信息失效,连接时就会产生错误
附加问题
事实上在解决了根本问题后使用VS Code可能依然还会无法连接服务器,这是因为在原先的服务器上有遗留的VS Code Server
解决方案
针对根本问题
问题出现在跳板机的ssh缓存信息上,因此使用ssh-keygen -R 服务器IP
删除相应的缓存信息即可。
稳妥起见建议也在本地运行一遍相同命令。
参考:https://www.jianshu.com/p/e30486c20cf5
针对附加问题
附加问题出现在VS Code在远程服务器的遗留上,因此噶掉即可。
方法:VS Code菜单"查看" -> “命令面板” -> “Kill VS Code Server on Host”,选择kill远程服务器的Server,重新登录即可
参考:https://blog.csdn.net/qq_21091211/article/details/115282470