remote-ssh插件必须通过安装官方remote development扩展包(microsoft发布、蓝色齿轮+地球图标)完整获取,单独安装remote-ssh易缺失依赖导致连接卡在“installing vs code server…”;同时需注意ssh配置文件权限(windows用icacls、linux/macos用chmod修正)及远程服务器glibc版本(≥2.28)和vs code server下载源(可配置国内镜像)。

Remote-SSH 插件必须装对,否则根本连不上
Remote-SSH 不是独立插件,它是 Remote Development 扩展包里的核心组件。只搜“Remote-SSH”安装容易漏掉依赖——Remote-WSL 和 Remote-Tunnels 会一并装上,但关键的 vscode-server 启动逻辑由整个包协同完成。如果你只装了单个 Remote-SSH,连接时大概率卡在 “Installing VS Code Server…” 且无日志输出。
正确做法是:在扩展面板搜索 Remote Development,认准 Microsoft 官方发布、图标为蓝色齿轮+地球的那个,一次性安装整套。装完后重启 VSCode,左侧才会出现“远程资源管理器”图标(带箭头的电脑)。
SSH 配置文件权限不对,连接直接报错
Windows 下常见报错:Bad owner or permissions on C:\Users\xxx\.ssh\config。这不是 VSCode 的 bug,而是 OpenSSH 客户端强制要求:.ssh 目录权限必须是 700(仅所有者可读写执行),config 文件必须是 600(仅所有者可读写)。VSCode 默认不会帮你改权限,手动改又容易出错。
- 用 PowerShell 管理员模式运行:
icacls "$env:USERPROFILE\.ssh" /t /c /grant "$env:USERNAME:(F)",再执行icacls "$env:USERPROFILE\.ssh\config" /t /c /grant "$env:USERNAME:(R)" - Linux/macOS 用户直接终端运行:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/config - 别用记事本编辑 config——它可能插入 BOM 或换行符,推荐用 VSCode 自己打开并保存
CentOS 7 / glibc 2.17 服务器连不上,不是网络问题
VSCode 1.86+ 要求远程服务器 glibc ≥ 2.28。CentOS 7 默认是 2.17,连接时会静默失败,日志里只显示 Server did not start successfully,实际卡在 loader 加载阶段。这时候查防火墙、SSH 端口、密码全都没用——底层 libc 根本不兼容。
最稳妥的解法是自建用户级 glibc:
- 在服务器家目录建
~/vscode-compat,放好预编译的 glibc 2.28+(含lib/ld-linux-x86-64.so.2和lib/libc.so.6) - 修改
~/.vscode-server/bin/<commit_id>/bin/code-server</commit_id>第一行,把#!/usr/bin/env bash改成#!/home/yourname/vscode-compat/lib/ld-linux-x86-64.so.2 --library-path /home/yourname/vscode-compat/lib:/lib64:/usr/lib64 /usr/bin/bash - 确保
~/.vscode-server目录属主和权限正确:chown -R $USER:$USER ~/.vscode-server && chmod -R 755 ~/.vscode-server
第一次连接卡在 “Downloading VS Code Server”,其实是下载源被墙
VSCode 默认从微软中国 CDN 下载 server 包,国内直连常超时或 403。错误日志里会出现 Failed to fetch https://vscode.download.prss.microsoft.com/...。
绕过方式有二:
- 手动下载:在本地浏览器打开报错里的完整 URL(含
<commit_id></commit_id>),下载vscode-server-linux-x64.tar.gz,用scp传到服务器~/.vscode-server/bin/<commit_id>/</commit_id>目录下,解压即可 - 改镜像源:在 VSCode 设置里搜
remote.SSH.serverDownloadUrl,填入国内镜像地址,例如https://npmmirror.com/mirrors/vscode-server(注意结尾不加斜杠)
glibc 兼容性和 server 下载源是两个最常被忽略的硬性门槛,前者决定能不能跑起来,后者决定能不能装上——没踩过的人往往花半天排查 SSH 密码或网络,其实问题根本不在那儿。











