VSCode远程隧道(Tunnels):从任何地方访问你的开发环境

可通过VSCode官方Tunnels、SSH反向隧道或ngrok三种方式实现跨设备访问本地VSCode:Tunnels无需配置端口,自动分配HTTPS链接;SSH反向隧道依赖跳板机,保障数据本地化;ngrok提供临时加密域名,适合快速测试。

如果您希望在不同设备上无缝访问本地VSCode开发环境,但受限于网络位置或防火墙策略,则可能是由于本地开发机未暴露可被外部直接访问的端口。以下是实现此目标的多种方法:

本文运行环境:MacBook Air,macOS Sequoia

一、通过VSCode官方Tunnels服务启用远程访问

该方法利用VSCode官方提供的云端中继服务,自动为本地工作区分配唯一HTTPS隧道URL,无需配置公网IP或端口映射,且支持身份验证与实时同步。

1、确保已安装最新版VSCode桌面客户端(v1.90+)并登录Microsoft账户。

2、打开本地项目文件夹,在命令面板(Cmd+Shift+P)中输入“Tunnel: Create Tunnel”,回车执行。

3、选择是否公开访问:若仅限个人使用,勾选“Private”;若需协作,选择“Public”并确认安全提示。

4、等待隧道建立完成,状态栏将显示绿色图标及类似https://yourname-3000.vscode.dev的访问链接。

5、在任意浏览器中打开该链接,输入Microsoft账户授权后即可加载完整VSCode Web界面。

二、使用SSH反向隧道手动搭建访问通道

该方法不依赖第三方中继服务,通过已具备公网SSH访问权限的服务器作为跳板,将本地VSCode Server端口反向映射至远程服务器的指定端口,适用于对数据驻留有严格要求的场景。

1、在本地终端中执行命令:ssh -R 2222:localhost:3000 user@public-server-ip,其中3000为本地VSCode Server默认监听端口。

2、在远程服务器上编辑sshd_config,确保AllowTcpForwarding yes与GatewayPorts clientspecified已启用。

3、重启远程服务器SSH服务:sudo systemctl restart sshd

4、在远程服务器执行:code --host --port 2222 --without-asking-passphrase启动VSCode Server实例。

5、从外部设备访问http://public-server-ip:2222,输入本地用户凭证完成登录。

三、借助ngrok临时暴露本地VSCode Server端口

该方法适用于快速测试或短期共享,ngrok会为本地HTTP服务生成随机子域名,并提供TLS加密与请求日志查看功能,无需服务器资源投入。

1、下载ngrok CLI并解压,执行ngrok config add-authtoken YOUR_TOKEN绑定账户。

2、确认本地VSCode Server已在运行(可通过code --status检查端口占用)。

3、在终端中运行:ngrok http 3000 --domain=your-subdomain.ngrok-free.app(如已申请免费子域名)。

4、终端输出中获取类似https://your-subdomain.ngrok-free.app的转发地址。

5、将该地址粘贴至浏览器访问,系统将自动重定向至VSCode Web客户端界面。

本文转自网络,如有侵权请联系客服删除。