remote tunnels 是专为“连不上 ssh”设计的远程开发方案,需目标机联网、装 vs code 1.82+、登录 microsoft 或 github 账户,无需公网 ip、端口映射或密钥配置。

Remote Tunnels 不是 Remote-SSH 的替代品,而是专为“连不上 SSH”的场景设计的——只要目标机器能联网、装了 VS Code(1.82+)、登录了 Microsoft 或 GitHub 账户,就能从任意设备接入,无需公网 IP、不开端口、不配密钥。
Remote-Tunnels: Create Tunnel 命令不出现?检查账户登录方式
命令面板里搜不到 Remote-Tunnels: Create Tunnel,大概率是账户没走对路:
- 必须用 Microsoft 账户(Outlook/Hotmail 邮箱注册)或 GitHub 账户登录,GitHub Enterprise、GitLab、Google 账户都不支持
- 左下角状态栏点「未登录」→「使用 Microsoft 账户登录」,不能靠 GitHub 登录图标“碰运气”
- 已用其他方式登录过?先点齿轮图标 →「帐户」→「注销」,再重登
- 登录后状态栏右下角必须同时显示头像 +
Tunnels Ready,缺一不可
生成的 https://vscode.dev/tunnel/xxx 打不开?重点查三件事
页面卡在 “Connecting…” 或跳转到 GitHub 登录页后无响应,不是链接错了,而是服务没就绪:
- 确认远端 VS Code 桌面版仍在运行,且
remote.tunnels.enabled设置已开启(设置里搜该配置项并勾选) - 执行
ps aux | grep tunnel(macOS/Linux)或在 Windows 任务管理器搜code-tunnel,看后台进程是否存活——关机、休眠、手动 kill 都会中断隧道 - 本地开了 Clash/Surge/Proxyman 等代理?必须关闭。Remote Tunnels 不走系统代理,强行转发会导致
WebSocket connection failed
浏览器能打开 vscode.dev/tunnel,但终端卡在 “Loading workspace…”?工作区没绑定对
Remote Tunnels 共享的是「当前打开的文件夹」,不是整个系统:
- 远端必须用
code /path/to/project启动 VS Code,而不是开空窗口再手动打开文件夹 - 如果远端 VS Code 关闭过或虚拟机重启了,隧道进程已退出,需回到远端重新执行
Remote-Tunnels: Create Tunnel - 浏览器访问时,即使你已在本地登录账户,Web 端仍要独立完成一次 GitHub/Microsoft 登录校验
- Web 端终端是 WebAssembly 实现的轻量版,不继承本地 shell 的
history、alias或zsh配置,也跑不了sudo或守护进程
code tunnel 命令报 command not found?CLI 没装进 PATH
code tunnel 是独立 CLI 工具,不是桌面版 VS Code 自带的 code 命令:
- Windows 用户推荐用
winget install Microsoft.VisualStudioCode.CLI,比手动下载更稳 - macOS/Linux 若用 curl 下载,注意区分
os=cli-alpine-x64(精简无图形)和os=cli-debian-x64(完整功能) - 解压后必须
chmod +x code,且所在目录已加入$PATH;否则得写全路径,例如./code tunnel --version能输出版本号才算到位
真正容易被忽略的是:隧道 URL 默认 7 天过期,但实际更早失效的往往是远端进程意外退出——比如 macOS 自动清理后台进程、公司电脑锁屏后 VS Code 被系统休眠、或者你顺手关掉了那个一直挂着 code tunnel 的终端窗口。











