问题描述
简单来说就是,ssh配置没动,前两天还可以用vscode连接服务器,今天突然就连不上了,但是用本地终端ssh可以顺利连接。
连接情况
我的ssh配置如下:
Host gpu3 HostName aaa User zwx
现在直接在终端中进行ssh,可以顺利连接。
然后在vscode中进行连接,一直失败。
报错信息分析
主要报错信息如下:
同时,有个很重要的经验!vscode输出里呈现的报错相当冗余,很难看到关键信息,所以要建议在终端ssh连接中查看日志文件(log)!
下图就是日志文件的信息,直接可以看到,vscode无法连接的问题根源在于服务器GLIBC版本过低。
解决方案
解决方案1:升级服务器GLIBC的版本
我尝试了连接 GLIBC == 2.31 的服务器,十分顺利,说明是GLIBC的版本问题,升级即可解决(具体过程要问服务器管理员了)。
解决方案2:降级本地vscode的版本
这个方案其实很难想到!
我也是偶然翻到了一篇今天很新很新(2024.2.2)的帖子发现的【传送门:vs code 不能连接到Ubuntu】。来看一眼,核心就是说vscode最近自动更新到了1.86,然后对GLIBC的依赖版本变高了,导致vscode连接失败。解决方案就是降级vscode到1.85,然后重新安装一下remote-ssh插件,就搞定了!
vscode 1.85下载链接:https://code.visualstudio.com/updates/v1_85
于是,vscode成功连接服务器。
关于插件版本的问题
vscode降级后,很多自动升级的插件就用不了了,卸载后重新安装一次即可。
看到enabled即安装成功!