
VSCode新版不兼容远程ssh连接旧服务器或Docker容器

现象和背景
或许大概是24年,在更新到最新版VSCode后,在下发现‘无法’再通过Remote - SSH
插件连接到远程Linux服务器。检查后发现是出现了兼容性问题,新版的VSCode对远程服务器底层库的版本提出了更高的要求。
另一方面,于25年9月,在下又发现无法通过Dev Containers
插件连接到操作系统课程实验的Docker容器。观察发现报错信息和当初Remote - SSH
插件的错误信息非常相似,都是底层库版本不兼容,故而推断二者本质的问题是相同的 —— 都源自某次VSCode的版本更新。
报错如下图所示:
让我们看看官方针对这个问题的说法[1] :

可以看到,在VSCode 1.99版本及之后,它就只兼容基于 glibc版本>=2.28 的Linux发行版了。
虽然官方给出了一种通过更新Linux服务器glibc的解决方案,但glibc是linux系统上非常底层的库,随便更新它可能会带来很多未知的风险 —— 尤其是对于追求稳定性的服务器,或者追求一致性的实验环境。所以很多时候,我们可能都无法接受这种解决方案。与此同时,我们远程连接服务器或者容器的很多时候只是为了图个方便,并不很在意VSCode新版本增添的AI辅助的开发功能(毕竟还可以开发完之后复制代码过来),故,回退VSCode版本是一种可靠可行的解决方案。
但是如果VSCode是我们本来就依赖的主流编辑器,回退版本会带来很多麻烦,也会让人很难受。所以有没有一种可能我们可以在不影响原有VSCode使用的前提下,额外安装一个独立的低版本VSCode?有的兄弟,有的 —— 那就是通过安装VSCode便携版来解决这个问题。
注:虽然根据官方的说法,从1.99版本开始才正式对glibc等库提出更高的版本要求,但是根据社区的说法,这个问题从1.86版本就已经开始出现了,所以为了可靠性,我们之后将会选择安装1.85版本。
这里有一篇文章指出了问题的根源大概率来自于VSCode1.86更新时,Node.js的版本更新,进而对glibc的版本提出了更高的要求[3];所以这其实是一个从1.86版本开始出现的Bug……
VSCode便携版
什么是便携版(portable mode)?
Visual Studio Code supports Portable mode. This mode enables all data created and maintained by VS Code to live near itself, so it can be moved around across environments.[2]
就是一种将插件、用户数据全部存储在应用安装目录下,不会安装到全局的AppData
等文件夹的一种模式。
可以理解成一种独立的,一个集中的工具,它的作用范围完全局限于我们选定的那个安装文件夹,非常安全。
以我自己安装的VSCode便携版为例,可以看到extensions和user-data都在这个data文件夹下:

如何安装便携版
对于Windows用户来说,安装非常简单:
- 下载.zip版本(即压缩包版本,而非安装程序),解压到任意目录——比如我这里选择将其放在E:/__Tools/VSCode1.85目录下,方便管理。这里给出一个1.85版本的下载链接
- 进入刚才解压出的VSCode目录,在下面创建一个新文件夹,名为 “data“, 不要取其他名字,如下图所示。
就两步,结束了,现在就可以放心的使用VSCode便携版了!如果想要更方便地使用,可以为图中应用程序Code.exe
创建一个快捷方式放在桌面,取个新的名字。
如果想迁移旧配置的话,可以把
%APPDATA%\Code
的内容复制到新建的data\user-data
下, 把%USERPROFILE%\.vscode\extensions
的内容复制到新建的data\extensions
下。同理,如果安装过其他VSCode便携版,也只需要像这样把user-data
和extensions
分别复制进来即可。不过在下并不推荐这么做,因为VSCode版本不同,随意迁移可能引发新的兼容性问题,另一方面,这将会破坏一个现在对我们来说非常干净没有任何污染的环境。若是把刚安装的VSCode仅仅作为一个方便访问远程ssh服务器或者Docker容器的便携入口的话,根本就没有做太多配置的必要,维持一个小而轻的状态是最稳定最让人安心的。
对于Linux和mac用户, 操作可能略有不同,具体可见官方指导[2],这里就不复述了(主要是在下并没有在Linux和mac上测试过相应方法)
问题解决
在安装好兼容版本VSCode便携版之后,就像正常使用VSCode一样使用即可。
以连接Docker容器为例, 首先安装好Docker和Dev Containers插件
安装完成之后,在拓展栏点击Docker图标,打开下图所示配置,右键目标容器,可以先启动容器(这里已经启动了,所以看到的只有stop和restart), 之后只需要点击Attach Visual Studio Code
, 就可以进入容器了。

之后VSCode会打开一个新的窗口,之后就可以在这个新窗口自如地使用对应的容器了(ssh连接远程服务器同理)
注:在容器中如有需要的插件,需要单独安装; 这里为了展示,在宿主机的VSCode中安装了Markdown All in One插件,可以看到这里明确提示”在容器中进行安装”,说明二者的插件是独立开来的。
- VSCode. Remote Development FAQ. , 2025-09-11 ↩
- VSCode. VSCode Portable mode. , 2025-09-11 ↩
- 烧饼. 解决 VSCode Remote SSH 远程连接 glibc 高版本依赖问题. 烧饼吹水铺(个人博客) , 2024-02-18 ↩
- 标题: VSCode新版不兼容远程ssh连接旧服务器或Docker容器
- 作者: Prometheus0017
- 创建于 : 2025-09-22 23:14:39
- 更新于 : 2025-09-23 12:43:03
- 链接: https://blog-seeles-secret-garden.vercel.app/2025/09/22/VSCode新版不兼容远程ssh连接旧服务器或Docker容器/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。