VSCode远程开发需本地SSH连通、远程环境完备、vscode-server成功部署三者缺一不可;任一缺失将卡在“Installing VS Code Server…”或连接失败,且必须安装Microsoft官方Remote-SSH插件、正确配置~/.ssh/config并确保远程基础工具齐全。

VSCode 远程开发不是“配个插件就通”,而是本地 SSH 能力、远程基础环境、vscode-server 部署三者必须同时就位;任一环节断链,就会卡在 Installing VS Code Server… 或直接报 Failed to connect to the remote extension host。
Remote-SSH 插件装对了没?只认 Microsoft 官方出品
VS Code 市场搜 remote ssh 会出来一堆名字近似的扩展,但只有作者是 Microsoft、全名是 Remote - SSH 的那个才支持完整远程调试、终端集成和扩展同步。装错等于用 FTP 编辑器——能看文件,但没法断点、跑终端命令、查进程。
安装后务必重启 VS Code,再按 Ctrl+Shift+P 输入 Remote-SSH: Show Log,如果提示 command not found,说明插件根本没加载成功,可尝试禁用再启用一次。
~/.ssh/config 里少写一行,连接就静默失败
VSCode 的 Remote-SSH 默认只读 ~/.ssh/config,不解析密码登录、不兼容某些 ProxyJump 语法(旧版 OpenSSH)、也不自动 fallback 到 ~/.ssh/id_rsa。漏掉 User 或 IdentityFile,现象是点击连接后卡在 “Setting up SSH Host”,日志里却只显示 Permission denied (publickey)。
-
IdentityFile路径必须绝对,且私钥权限得是600:chmod 600 ~/.ssh/id_rsa_myserver - 云服务器改过端口(比如
Port 2222),config里必须显式写,不能只填 IP - 别用 Tab 缩进,
Host和字段之间只能用空格;多一个冒号或少一个换行,VSCode 就读不出来
vscode-server 卡在 Installing…?先登服务器跑三行命令
连接 SSH 成功 ≠ 远程开发能用。VSCode 会在服务器上自动拉取并解压 vscode-server,但它极度依赖几个基础能力:能联网、有 curl / tar / unzip、~/.vscode-server 目录可执行、磁盘没满、glibc 版本够用。
登录服务器后立刻执行:
which curl tar unzip ls -ld ~/.vscode-server df -h ~
常见坑:
- Alpine 或
debian-slim镜像缺 glibc,vscode-server启动直接 segfault,得换标准镜像 -
/home分区挂载了noexec,~/.vscode-server/bin/xxx/code就跑不起来 - 国内网络访问
update.code.visualstudio.com超时,得手动下载对应 commit 的包,解压到~/.vscode-server/bin/COMMIT_ID
连上了却看不到文件树?扩展没装到远程
远程窗口打开后,左侧扩展面板右下角会显示 Install on SSH: hostname。Python、C/C++、ESLint 这些语言/工具类扩展,必须点这个按钮单独装到服务器上——本地装的扩展对远程完全无效。
另外,终端默认启动的是 sh,不是你配置的 zsh 或 bash;如果 ~/.bashrc 里有 echo 或 printf 输出,会导致 VSCode 终端初始化失败,表现为终端打不开或一闪而退。检查方法:在服务器上运行 bash -i -c 'echo test',看有没有非空输出。


















