vscode remote tunnels 通过官方中继服务实现跨设备安全接入,需 microsoft 账户登录、1.82+ 版本及网络连通;支持桌面端创建隧道,生成7天有效url,免费账户限4个并发,不继承本地扩展与设置。

VSCode Remote Tunnels 不是传统意义上的 SSH 隧道,它不依赖你自己的服务器或公网 IP,而是通过 VS Code 官方中继服务建立加密连接——只要目标机器能上网、装了 VS Code(1.82+),就能从任意设备(手机、朋友电脑、公司 Chromebook)安全接入它的开发环境。
Remote Tunnels 要求 VS Code 本地安装且已登录 Microsoft 账户
这是最常卡住的一步:不是靠 GitHub 或 Google 登录,必须是 Microsoft 账户(即 Outlook/Hotmail 邮箱注册的账号)。登录位置在 VS Code 左下角状态栏,点击「未登录」→「使用 Microsoft 账户登录」。如果已用其他方式登录过,先点齿轮图标 →「帐户」→「注销」再重登。
- 未登录或登录非 Microsoft 账户时,
Remote-Tunnels: Create Tunnel命令根本不会出现 - Windows/macOS/Linux 桌面版都支持;但 VS Code for Web(vscode.dev)和移动端 App 不支持创建隧道,仅可作为客户端接入
- 登录后首次启用会弹出系统级权限请求(macOS 需允许辅助功能,Windows 可能需确认防火墙),拒绝会导致隧道进程启动失败,错误信息类似
Failed to start tunnel server: permission denied
创建隧道后,URL 有效期默认 7 天,但实际连接数受账户限制
执行 Ctrl+Shift+P → 输入 Remote-Tunnels: Create Tunnel,选中要共享的工作区(或选「Entire File System」),VS Code 会在后台拉起一个轻量隧道服务,并生成形如 https://vscode.dev/tunnel/yourname-abc123/ 的 URL。
- 该 URL 不绑定 IP 或域名,谁拿到都能连——所以别发到公开群聊;如需多人协作,建议用
Remote-Tunnels: Share Tunnel生成带密码的链接 - 免费账户最多同时保持 4 个活跃隧道;超过后旧隧道自动断开,错误提示为
Tunnel limit exceeded - URL 本身 7 天过期,但只要隧道进程没被杀(比如关机、手动停掉)、且账户在线,连接可一直维持;重启 VS Code 不影响已有隧道
远程连接时,浏览器打开 URL 后卡在「Connecting…」大概率是本地代理或网络拦截问题
vscode.dev 页面加载正常,但卡在连接阶段,基本可排除 VS Code 本身故障,重点查网络链路:
- 企业内网或学校 Wi-Fi 常拦截 WebSocket 流量(隧道底层依赖
wss://),尝试切到手机热点再试 - 本地开了代理(Clash、Surge、SwitchyOmega 等)必须关闭——VS Code Remote Tunnels 不走系统代理,强行转发会导致握手失败,错误日志里会出现
WebSocket connection failed - 浏览器禁用了第三方 Cookie(尤其 Safari 默认开启)会导致身份验证中断,换 Chrome / Edge 或临时关闭隐私设置
- 如果目标机器是 Linux 且用 Wayland 显示协议,部分发行版(如 Fedora 39+)需额外安装
xdg-desktop-portal-gtk,否则无法弹出文件选择对话框
真正麻烦的不是连不上,而是连上之后发现扩展没同步、终端路径不对、或者调试器找不到 Python 解释器——因为 Remote Tunnels 默认不继承你本地 VS Code 的全局设置和已安装扩展,每个隧道都是干净环境。需要手动在浏览器端的 VS Code 里重新安装扩展、配置 settings.json,或者提前在目标机器上用 code --install-extension 预装好核心插件。











