VSCode Remote Tunnels 可通过 GitHub 登录启用端到端加密隧道,支持图形界面或 CLI 添加命名端口映射(如 3000→my-react-app),配置 GitHub 认证限制访问,并提供列表管理与一键关闭功能。

如果您希望在没有公网 IP 或复杂网络配置的情况下,将本地运行的 Web 服务安全地分享给他人访问,VSCode 的 Remote Tunnels 功能可提供端到端加密的临时隧道通道。以下是实现该功能的具体操作步骤:
本文运行环境:MacBook Pro,macOS Sequoia。
一、启用 Remote Tunnels 并登录 GitHub 账户
Remote Tunnels 依赖 GitHub 身份验证来建立用户会话和隧道授权,必须先在 VSCode 中完成登录才能创建隧道。未登录状态下所有隧道命令均不可用。
1、打开 VSCode,按下 Cmd+Shift+P 调出命令面板。
2、输入 Remote-Tunnels: Turn on… 并回车执行。
3、VSCode 自动弹出 GitHub 登录页面,使用 浏览器 完成授权后返回 VSCode 窗口。
4、状态栏右下角出现 Remote Tunnel (Ready) 表示已成功连接到远程中继服务。
二、为本地服务创建命名隧道
VSCode Remote Tunnels 默认仅暴露其内置的服务器 端口(如 Web UI),若需转发自定义本地服务(例如运行在 localhost:3000 的开发服务器),需手动添加端口映射规则。
1、按下 Cmd+Shift+P,输入 Remote-Tunnels: Add Port… 并回车。
2、在弹出的输入框中键入本地服务端口号,例如 3000。
3、随后输入一个唯一隧道名称,如 my-react–app,该名称将出现在共享 URL 中。
4、确认后,VSCode 在状态栏显示 Port 3000 → my-react-app,并生成类似 https://my-react-app-82a3b7.port-3000.very-good-tunnel.com 的可访问链接。
三、通过命令行手动启动隧道并指定端口
当图形界面操作受限(如 SSH 会话中无 GUI)或需集成进脚本时,可直接调用 VSCode CLI工具code 以非交互方式启动隧道,并绑定多个本地端口。
1、确保已安装 VSCode 命令行工具:在 VSCode 中打开命令面板,执行 Shell Command: Install ‘code’ command in PATH。
2、终端中运行:code tunnel –port 3000 –name my-api-server。
3、首次运行会提示打开浏览器完成 GitHub 登录,完成后终端输出包含完整隧道 URL 的提示行。
4、如需同时暴露多个端口,重复执行该命令并更换端口号与名称,例如再运行 code tunnel –port 5000 –name backend-api。
四、限制隧道访问权限以增强安全性
Remote Tunnels 默认允许任何人通过链接访问服务,但可通过设置访问令牌强制身份验证,确保仅授权人员能连接。
1、在 VSCode 命令面板中执行 Remote-Tunnels: Configure Access…。
2、选择 Require GitHub authentication,此选项使所有隧道 URL 变为私有。
3、访问者点击链接后将跳转至 GitHub 登录页,仅登录了与隧道创建者同一 GitHub 组织或拥有对应仓库权限的用户才可继续访问。
4、若需更细粒度控制,可在 GitHub 中为该组织启用 SAML SSO,此时隧道访问将继承企业级身份策略。
五、关闭特定隧道或终止全部连接
隧道持续运行会占用中继资源并可能带来未预期的访问入口,应及时关闭不再使用的隧道以降低暴露面。
1、按下 Cmd+Shift+P,输入 Remote-Tunnels: List Ports… 查看当前所有活跃隧道。
2、从列表中选择目标隧道名称,按回车后出现操作菜单,选择 Remove port mapping 即刻断开该端口转发。
3、如需彻底退出隧道服务,执行 Remote-Tunnels: Turn off,状态栏提示消失且所有隧道 URL 立即失效。
4、命令行方式关闭:在启动隧道的终端窗口中按 Ctrl+C,或运行 code tunnel logout 清除认证凭据并终止所有会话。