Remote Explorer 不显示服务器是因为只读取 ~/.ssh/config 中定义的 Host 条目,需确保配置文件路径正确、权限为600、格式规范(Host后紧跟别名、无前置空格或注释)、保存后手动点击刷新按钮,且 ProxyJump 跳板机已正确定义。

能直接管理多台服务器,但必须靠 ~/.ssh/config 驱动,不是点几下就能自动识别的。
Remote Explorer 为什么没显示你的服务器
Remote Explorer 不会主动扫描 IP 或猜测主机名,它只读取本地 ~/.ssh/config 文件里定义的 Host 条目。如果列表为空或只有默认项,说明配置文件没生效或格式有误。
- 检查文件权限:Windows 上
C:\Users\用户名\.ssh\config、macOS/Linux 上~/.ssh/config必须是 600(chmod 600 ~/.ssh/config),否则 VS Code 会静默跳过 - 确认每段以
Host开头,且后面紧跟别名(如Host prod-db),不能有空格或注释混在行首 - 修改后必须点击 Remote Explorer 里的刷新按钮(两个箭头图标),不会自动热重载
- 如果用了
ProxyJump,确保跳板机本身已在 config 中正确定义,否则该条目会灰显不可连接
多个服务器共用同一密钥时的坑
VS Code 默认复用 SSH Agent 的密钥,但当多台服务器要求不同密钥、或某台禁用了 agent forwarding 时,IdentityFile 参数就变成刚需,否则会卡在 “Setting up SSH Host…”。
- 每个
Host块里显式写上IdentityFile ~/.ssh/key-for-that-server,避免密钥错配 - 不要依赖全局
IdentitiesOnly yes—— 它可能让 VS Code 尝试所有密钥,触发服务器端的登录失败计数器 - 若某台服务器只允许密码登录(比如测试机),删掉
IdentityFile行,并确保PubkeyAuthentication no显式设置,否则 VS Code 会死等密钥响应
连接后插件不生效?先看 .vscode-server 目录权限
每台服务器首次连接时,VS Code 会在用户家目录下拉起 ~/.vscode-server,但若该目录属主错误或权限过宽(比如 755),后续连接就会报 Permission denied 或静默失败。
- 连接失败后,手动 SSH 登上去执行:
chown -R $USER:$USER ~/.vscode-server和chmod 700 ~/.vscode-server - 不要用
sudo chown修,会导致 VS Code 启动的 server 进程无法读取自身 bin 目录 - 如果服务器是共享账号(如
devops),不同人连同一台机器时,~/.vscode-server会被覆盖 —— 最好每人用独立系统账号
真正麻烦的不是连不上,而是连上了却不知道哪个终端、哪个文件树、哪个扩展对应哪台服务器——建议给每个工作区(.code-workspace)绑定唯一 Host 别名,并在窗口标题栏右下角留意当前连接状态(SSH: user@host)。否则改错文件、杀错进程、装错插件,都是眨眼间的事。


















