
VSCode 连接 Ubuntu 远程服务器,核心依赖不是 VSCode 插件,而是远程端能否运行 vscode-server —— 它需要 curl、tar、bash 和可写入的 ~/.vscode-server 目录。
远程 Ubuntu 必须装哪些命令?
VS Code Remote-SSH 首次连接时,会在远程自动生成并解压 vscode-server。这个过程不是纯 SSH 传输,而是通过 shell 执行下载 + 解压流程,因此以下命令必须存在且可用:
-
curl或wget(默认优先用curl;若系统只有wget,部分旧版 VS Code 可能失败) -
tar(用于解压下载的 server 包) -
bash(远程登录 shell 必须是bash或兼容 shell;zsh一般也行,但某些精简镜像用dash会卡在初始化) -
mktemp、id、uname(辅助判断平台和权限)
验证方式:SSH 登录后执行 which curl tar bash,缺任何一个都可能卡在 “Installing VS Code Server” 或报错 Failed to fetch remote environment。
为什么连得上 SSH 却装不上 vscode-server?
常见现象是终端里 ssh user@ubuntu-ip 能成功登录,但 VS Code 卡在 “Installing VS Code Server” 几分钟不动,最终失败。根本原因通常是:
- 远程
~/.vscode-server目录不可写(比如挂载了只读文件系统,或用户被限制 home 目录权限) - Ubuntu 启用了
systemd --user环境,而 VS Code 的 server 初始化脚本未适配该 session 上下文(表现为VSCODE_IPC_HOOK未触发) - 防火墙或代理拦截了
curl https://update.code.visualstudio.com/...下载请求(尤其企业内网或云服务器安全组未放通 outbound HTTPS) - 远程
$PATH中没有curl(例如某些最小化 Ubuntu 镜像只装了busybox版本的wget,不带 TLS 支持)
快速诊断:手动 SSH 进去,运行 curl -I https://update.code.visualstudio.com,看是否返回 200 OK;再检查 ls -ld ~/.vscode-server 是否显示 drwxr-xr-x 且属主是你自己。
Ubuntu 系统级配置要注意什么?
不是所有 Ubuntu 都“开箱即用”,尤其云厂商提供的最小化镜像或 Docker 容器环境:
- 确认
openssh-server已启用:sudo systemctl is-active ssh应输出active - 避免使用
nologin或false作为登录 shell(chsh -s /bin/bash修复) - 如果 Ubuntu 启用了
ufw,确保放行 SSH 端口:sudo ufw allow OpenSSH - 某些 Ubuntu Server 镜像默认禁用密码登录(
PasswordAuthentication no),此时必须用密钥,并确认PubkeyAuthentication yes在/etc/ssh/sshd_config中生效 - WSL2 用户注意:不要直接连 WSL2 的 IP,应使用
localhost+ 端口转发,否则vscode-serverIPC 通信会失败
本地 VSCode 和远程环境怎么对齐版本?
VS Code Server 版本必须与本地客户端兼容。VS Code 1.118(2026 年 4 月发布)开始强化了对 TypeScript 7.0 和 Copilot CLI 的支持,但远程 Ubuntu 若长期未更新,可能因 glibc 版本过低导致 server 二进制无法加载。
典型错误信息:./code: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
解决方法:
- Ubuntu 22.04 LTS 默认带
glibc 2.35,稳妥;但 Ubuntu 20.04(glibc 2.31)已不被新版 VS Code Server 支持 - 遇到 GLIBC 报错,不要降级 VS Code,而是升级远程系统:
sudo apt update && sudo apt full-upgrade -y - 或者临时指定旧版 server(需手动下载并放入
~/.vscode-server/bin/对应 commit ID 目录,操作复杂且不推荐)
真正容易被忽略的是:远程 Ubuntu 的 /tmp 目录是否被挂载为 noexec。VS Code Server 初始化阶段会在 /tmp 解压临时文件,若被禁止执行,整个安装流程静默失败,日志里几乎不报错。











