【异常修复】服务器发生变更后使用VS Code连接报错

问题呈现

使用VS Code通过跳板机远程连接服务器,已做好各项设置,然而在服务器重装系统后发生异常。连接产生报错:
image
为诊断问题,在跳板机上使用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

posted @ 2022-05-27 18:16  TheError  阅读(160)  评论(0编辑  收藏  举报