Remote Explorer 默认隐藏,仅在远程上下文激活(如成功连接SSH主机)后常驻侧边栏;列表为空因只读取本地~/.ssh/config配置,需手动编辑并刷新;卡在“Setting up SSH Host”实为底层SSH连接失败,须终端级排查。

Remote Explorer 不是单独安装的插件,它随 Remote - SSH 扩展自动启用;装了但看不到图标、列表为空、点不动——问题几乎全出在配置和上下文上。
Remote Explorer 图标为什么没出现在侧边栏
它默认隐藏,不是 bug,而是设计逻辑:只有进入远程上下文(比如已连过一次 SSH 主机)后才会常驻。没连过主机时,图标不会自动出现。
- 先按
Ctrl+Shift+P输入Remote-SSH: Connect to Host,选一个 Host 连一次,左下角出现SSH: user@host后,图标就固定在侧边栏最下方了 - 如果连过仍不显示,检查
ms-vscode-remote.remote-ssh是否处于“启用”状态(不只是安装),禁用后必须重启 VS Code - 手动唤出可用
View: Show Remote Explorer,但这只是临时方案,重启后还会消失
SSH TARGETS 列表为空的根本原因
Remote Explorer 不提供图形化添加主机的功能,它只读取本地 ~/.ssh/config(Linux/macOS)或 %USERPROFILE%\.ssh\config(Windows)里的 Host 块。没配,就永远空着。
- 运行
mkdir -p ~/.ssh && nano ~/.ssh/config,写入合法段落,例如:Host myvm<br> HostName 192.168.1.50<br> User ubuntu<br> IdentityFile ~/.ssh/id_rsa
- 保存后,在 Remote Explorer 顶部点刷新按钮(或右键空白处选
Refresh),别指望它自动感知文件变更 - 权限不对会静默忽略:Linux/macOS 下执行
chmod 600 ~/.ssh/config,否则 OpenSSH 拒绝读取 - 若改过
remote.SSH.configFile设置项,指向了一个不存在或格式错误的路径,列表也会直接为空
点连接后卡在 “Setting up SSH Host” 怎么办
这不是 Remote Explorer 的问题,而是 VS Code 在调用系统 ssh 命令时卡住了。排查必须下沉到终端级验证。
- 先在本地终端运行
ssh -T -o ConnectTimeout=5 myvm(把myvm换成你的 Host 别名),看能否直连成功;失败就别指望 VS Code 能绕过去 - 私钥权限太松(如
644)会导致 OpenSSH 拒绝使用;Windows 上注意 OpenSSH 默认不认.ppk,得转成 OpenSSH 格式 - 如果你手动设过
remote.SSH.path,指向了非标准ssh可执行文件(比如 MinGW 自带的老版本),会静默失败;清空该设置让 VS Code 回退到系统默认更稳妥 - 首次连接时卡在
Installing VS Code Server,常见于远程系统缺tar、gzip或unzip—— 最小化安装的 CentOS/Alpine 容易中招
想快速编辑单个远程文件,别开整个文件夹
很多人误以为必须“打开远程文件夹”才能编辑,其实 Remote Explorer 支持更轻量的操作路径,适合运维查日志、改配置等临时任务。
- 按
Ctrl+Shift+P输入Remote-SSH: Open File,直接输入远程绝对路径,如/etc/nginx/nginx.conf - 文件以只读方式打开;点击右上角锁形图标可切换为可编辑状态(需有写权限)
- 避免加载整个项目引发文件监听溢出(
ENOSPC错误),也省去启动完整远程工作区的等待时间
Remote Explorer 本身不“干活”,它只是把 ~/.ssh/config 和 VS Code 的远程协议栈串起来的一扇窗。真正容易被忽略的是:它完全依赖 SSH 配置的合法性、密钥权限的严格性、以及远程系统基础工具链的完整性——这些底层条件一错,界面再漂亮也没用。











