由vscode自动升级到1.86导致的“终端可以ssh服务器,但是vscode无法连接服务器”

服务器 0

问题描述

简单来说就是,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即安装成功!

也许您对下面的内容还感兴趣: