本教程完美解决 VS Code 连接华为鲲鹏/麒麟 V10 服务器时的 glibc 版本过低及 LinuxPrereqs 报错。针对内网离线环境,详细演示“VS Code 1.85.2 便携版 + 离线手动部署 Server 端”的全流程,并附带解决 SSH 通道被禁(administratively prohibited)导致连接卡死的详细步骤。无需升级系统库,亲测有效。

适用人群

  • 正在使用华为鲲鹏 (KunLun/Ascend)、麒麟 (Kylin V10)、CentOS 7 等国产或老旧 Linux 服务器的开发者。
  • 遇到报错 LinuxPrereqs,提示 glibc 版本低于 2.28 或 libstdc++ 版本过低。
  • 服务器处于内网,无法连接微软更新服务器 (wget 报错)。
  • VS Code 一直卡在“正在打开远程”,日志提示 administratively prohibited

🔍 问题分析

自从 VS Code 1.86 版本发布以来,微软提高了对远程 Linux 服务器基础库的要求(glibc >= 2.28)。很多国产服务器(如麒麟 V10)或生产环境服务器出于稳定性考虑,基础库版本较低,导致最新版 VS Code 无法直接连接。

此外,企业级服务器通常有防火墙限制(无法下载 Server 端)或 SSH 安全限制(禁止 TCP 转发),这形成了“三重关卡”。

本文将教你如何不重装系统、不升级服务器库、不影响本机现有 VS Code,通过“便携版+离线部署”完美解决所有问题。


🛠 第一步:准备“特供版” VS Code (电脑端)

为了不影响你平时用的最新版 VS Code,我们将在电脑上额外部署一个 1.85.2 便携版(这是支持旧版 Linux 的最后一个版本)。

  1. 下载专用版本

  2. 解压安装

    • 将下载好的 ZIP 包解压到一个新的文件夹,例如 D:\VSCode_Legacy
  3. 制作便携版 (关键步骤!)

    • 进入解压后的文件夹(能看到 Code.exe 的那个目录)。
    • 右键 -> 新建 -> 文件夹,将文件夹命名为 data
    • 原理:只要目录下有 data 文件夹,VS Code 就会把所有插件和配置存这里,与你电脑上原来的 VS Code 互不干扰。
  4. 禁止自动更新

    • 双击 Code.exe 启动。
    • 点击左下角齿轮 ⚙️ -> Settings (设置)
    • 搜索框输入 update mode
    • Application: Update Mode 改为 none
    • (这一步不做,重启后它会自动升级,一切白干)

📦 第二步:手动下载 Server 端组件 (电脑端)

因为服务器没网或连不上微软,我们需要在电脑上先下载好 Server 组件。

  1. 确认 Commit ID

    • VS Code 1.85.2 的唯一 Commit ID 是:8b3775030ed1a69b13e4f4c628c612102e30a681
  2. 下载对应架构的包


🚀 第三步:上传并离线安装 (服务器端)

我们需要把刚才下载的 .tar.gz 文件传到服务器并“伪装”成自动安装的样子。

1. 上传文件

你可以用 Xftp/WinSCP 拖拽上传。如果你不想装软件,直接用 Windows 自带的 CMD 命令:

  • Win + R,输入 cmd 回车。
  • 输入以下命令(注意替换路径):
    scp "你的文件路径\vscode-server-linux-arm64.tar.gz" root@你的服务器IP:/root/
    
    (输入密码后等待传输完成)

2. 执行安装命令 (傻瓜式复制)

请使用 Xshell 或 Putty 登录你的服务器,依次复制并执行以下 4 行命令(一行一行执行,不要出错):

# 1. 创建 VS Code 专用的版本目录
mkdir -p ~/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681

# 2. 进入该目录
cd ~/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681

# 3. 解压文件 (假设你传到了 /root/ 下,注意 --strip-components 1 必不可少)
tar -zxf /root/vscode-server-linux-arm64.tar.gz --strip-components 1

# 4. 创建完成标记 (告诉 VS Code 我装好了,别再下载了)
touch 0

🔒 第四步:解决 “administratively prohibited” (最隐蔽的坑)

如果你连接时日志报错 channel 3: open failed: administratively prohibited,说明服务器禁止了 SSH 隧道。

必须修改 SSH 配置(请跟随操作):

  1. 打开配置文件

    vi /etc/ssh/sshd_config
    
  2. 修改配置 (vi 操作指南)

    • 进入编辑器后,按键盘 (向下箭头) 找到 AllowTcpForwarding 这一行。
    • 如果这行前面有 #,光标移到 # 上按 x 键删除它。
    • 光标移到后面的 no 上。
    • 按一下 i 键(进入编辑模式)。
    • no 删掉,改成 yes
    • 最终这行应该是: AllowTcpForwarding yes
  3. 保存退出

    • 按一下 Esc 键。
    • 输入 :wq (英文冒号+w+q)。
    • 回车
  4. 重启 SSH 服务 (让修改生效)

    systemctl restart sshd
    

✅ 第五步:最终连接与验证

  1. 打开你刚才配置好的 VS Code 1.85.2
  2. 安装 Remote - SSH 插件。
  3. 重要操作:按下 F1 键,输入 Remote-SSH: Kill VS Code Server on Host...,选择你的服务器IP并回车。(这一步是为了清理之前失败的缓存进程)。
  4. 点击左下角的绿色图标 ><,选择连接主机。

最后就可以vscode爽用服务器了


💡 附:华为昇腾/鲲鹏开发推荐插件

在旧版 VS Code 连接成功后,建议安装以下插件提升效率:

  • Remote - SSH: 必装。
  • SFTP (liximomo): 方便右键直接上传/下载文件。
  • Resource Monitor: 在底部状态栏实时显示服务器 CPU/内存占用。
  • Python / C++: 开发必备(注意:如果在旧版 VS Code 中插件报错,请在插件页面点击“安装另一个版本”,回退到 2023 年的版本)。
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐