解决新版 VSCode 无法 ssh 连接 WSL Ubuntu18.04的问题

解决新版 VSCode 无法 ssh 连接 WSL Ubuntu18.04的问题

第一步:安装必备工具(patchelf,修改程序依赖的核心工具)

打开 WSL Ubuntu18.04 终端,执行命令:

bash 复制代码
# 更新软件源
sudo apt update
# 安装patchelf(必须装,否则无法修改node)
sudo apt install patchelf -y

✅ 目的:安装修改VSCode Server依赖的工具,无此工具无法完成后续操作。


第二步:用conda创建环境,安装高版本glibc 2.28(解决系统libc过低问题)

Ubuntu18.04自带glibc 2.27,不满足新版VSCode要求,我们用conda安装安全的高版本glibc:

bash 复制代码
# 1. 创建专属环境(隔离依赖,不破坏系统)
conda create -n libc_env python=3.8 -y

# 2. 激活环境
conda activate libc_env

# 3. 安装glibc 2.28(核心依赖)
conda install sysroot_linux-64=2.28 -c conda-forge -y

# 4. 验证安装(输出sysroot_linux-64  2.28 即成功)
conda list | grep sysroot

✅ 目的:获取VSCode需要的高版本glibc运行库,不修改系统文件,安全无风险。


第三步:清理所有旧文件(解决404报错的核心!)

删除损坏的VSCode Server + 强制下载旧包的legacy-mode标记:

bash 复制代码
# 彻底删除旧的vscode-server
rm -rf ~/.vscode-server

# 删除legacy-mode标记(禁止VSCode下载已下架的404包)
rm -f ~/.vscode-server/bin/legacy-mode

✅ 目的:

  1. 清空失效的服务端文件;
  2. 删掉legacy-mode,让VSCode改用普通版server(不会404)。

第四步:手动下载 普通版 VSCode Server(无404,官方正常包)

你的VSCode专属哈希:560a9dba96f961efea7b1612916f89e5d5d4d679,直接复制执行:

bash 复制代码
# 创建服务端文件夹
mkdir -p ~/.vscode-server/bin/560a9dba96f961efea7b1612916f89e5d5d4d679

# 进入文件夹
cd ~/.vscode-server/bin/560a9dba96f961efea7b1612916f89e5d5d4d679

# 下载普通版linux-x64服务端(微软官方正常链接,无legacy,不会404)
wget https://update.code.visualstudio.com/commit:560a9dba96f961efea7b1612916f89e5d5d4d679/server-linux-x64/stable -O vscode-server.tar.gz

# 解压文件
tar -zxvf vscode-server.tar.gz --strip-components=1

✅ 目的:手动安装VSCode官方正常服务端,绕过自动下载的404问题。


第五步:手动修改node程序(适配conda高版本glibc)

这一步替代无效的环境变量,直接让VSCode的核心程序node使用conda的glibc:

bash 复制代码
# 强制node加载conda的高版本glibc库
patchelf --set-rpath /home/grand/miniforge3/envs/libc_env/x86_64-conda-linux-gnu/sysroot/lib:/home/grand/miniforge3/envs/libc_env/x86_64-conda-linux-gnu/sysroot/lib64 ./node

# 匹配glibc的动态链接器
patchelf --set-interpreter /home/grand/miniforge3/envs/libc_env/x86_64-conda-linux-gnu/sysroot/lib64/ld-linux-x86-64.so.2 ./node

✅ 目的:让node跳过系统旧版glibc 2.27,直接使用conda安装的glibc 2.28。


第六步:验证修改是否成功

bash 复制代码
# 执行命令,输出版本号=修改成功
./node -v

✅ 成功标志:输出 v20.x.x 等版本号,无任何glibc报错


第七步:最终连接VSCode

  1. 关闭所有 WSL 终端;
  2. 重启 本地电脑的VSCode
  3. 点击左侧「远程资源管理器」→ 选择 WSL: Ubuntu-18.04 连接;
  4. 等待几秒 → 完美连接,无404、无glibc报错!

后续VSCode更新了怎么办?

如果VSCode自动更新,出现新的commit哈希,只需要重复:

  1. 清理旧文件:rm -rf ~/.vscode-server
  2. 手动下载新的普通版server
  3. 执行两条patchelf修改命令
    即可永久解决!
相关推荐
多巴胺耐受20 分钟前
解决WSL关闭终端就会关机的问题
ssh
2501_915918411 小时前
使用 VS Code 写 Swift 做 iOS 开发,插件能实现哪些功能,还有哪些短板
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
威嵌神州2 小时前
天脉 3 开发环境与 BSP 适配:IDE license、驱动开发、飞腾平台
ide·驱动开发·嵌入式硬件·fpga开发
东小黑2 小时前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee
我要见SA姐115 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Databuff20 小时前
五款主流 SSH 免费工具介绍
运维·ssh·运维开发
00后程序员张21 小时前
Xcode vs KXApp,体积差几十G,选轻量方案还是完整工具链?
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
解道Jdon1 天前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
别动我齐刘海1 天前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github
lifewange2 天前
VSCode怎么运行java
java·ide·vscode