不能,Remote Tunnels 仅支持 VS Code 客户端或 Web 端访问,不提供 SSH 命令行、文件系统挂载或真实终端,适用于临时协作与受限设备调试,无法替代 SSH + Remote-SSH。

Remote Tunnels 能不能替代 SSH + Remote-SSH?
不能,它解决的是完全不同的问题:Remote Tunnels 不需要你有公网 IP、不依赖本地 SSH 服务、也不要求目标机器开放任何端口;但它只支持 VS Code 官方客户端或 Web 端访问,无法直接跑 ssh 命令或挂载文件系统。适合临时协作、快速调试、没有运维权限的设备(比如公司锁死的办公机、朋友家的树莓派)。
常见错误现象:code tunnel login 卡在 “Opening browser…” 但没弹窗,或浏览器打开后显示 “This site can’t be reached” —— 这通常是因为系统默认浏览器被拦截、或终端运行在无图形界面环境(如纯 SSH 登录的服务器)。
- 用
code tunnel login --cli强制走命令行流程,会输出一次性登录码,粘贴到 https://www.php.cn/link/197e931b3ee852997d554b092e9455cb 完成绑定 - 确保已安装 VS Code Stable(Insiders 不稳定,常连不上 Web 端)
- 首次启动隧道后,别关掉终端里那个持续运行的
code tunnel进程 —— 它就是隧道守卫,关了链接立刻断
浏览器打不开 https://vscode.dev/tunnel/xxx 怎么办?
这个地址本质是 VS Code Web 的代理入口,依赖 GitHub 账户授权和实时在线的隧道进程。打不开不一定是网络问题,更可能是状态未就绪或权限断开。
使用场景:你在咖啡馆用 Chrome 打开同事发来的 https://vscode.dev/tunnel/john-mbp-2023,页面空白或跳转到 GitHub 登录页后卡住。
- 检查终端是否还在运行
code tunnel,执行ps aux | grep tunnel确认进程存活 - 登录页跳转后没反应?手动刷新一次,有时 OAuth 回调延迟导致前端没触发重定向
- Web 端不支持所有插件 —— 比如
Python、Pylance可用,但Remote-SSH、Docker这类底层扩展直接灰掉,别白费力气启用 - 路径中的
john-mbp-2023是机器别名,由code tunnel start --name john-mbp-2023指定,别名重复会导致旧隧道被踢下线
code tunnel 启动失败报错 Failed to connect to github.com
不是网络不通,而是 CLI 尝试自动调用 GitHub API 获取 token 时被防火墙、代理或公司策略拦截。VS Code Remote Tunnels 底层强依赖 GitHub 账户体系,所有认证都走 github.com/oauth,绕不开。
性能影响:一旦连上,编辑体验接近本地,但大文件搜索(Ctrl+Shift+F)和全量 TypeScript 语义分析会比本地慢 2–3 秒,这是 Web 客户端沙箱限制,非网络问题。
- 设置环境变量绕过自动探测:
GITHUB_TOKEN=xxx code tunnel start(token 需带admin:org和read:packages权限) - 公司网络常用 MITM 代理,导致 TLS 握手失败 —— 临时加
--no-verify-ssl(仅测试用,生产环境勿开) - macOS 上如果提示
command not found: code,说明code命令没加进 PATH,从 VS Code 菜单栏「Shell Command: Install 'code' command in PATH」重新安装
Web 端能访问,但无法打开终端或 Git 功能异常
Web 版 VS Code 的终端是基于 WebAssembly 的伪终端(webcontainer),它根本不连接你本机的 shell,而是在浏览器里模拟一个轻量 Linux 环境。所以你看到的终端里 ls 列出的是 Web 容器内的文件,不是你远程机器的 /home。
容易踩的坑:以为点开 Web 端的 Terminal 就等于 ssh 进去了,结果 git status 报错 not a git repository —— 因为你压根没把代码同步进 Web 容器。
- 必须先用左侧「Explorer」面板右键文件夹 → 「Add folder to workspace」,才真正加载到 Web 容器中
- Git 操作只对已加载的文件夹生效,且只支持基础命令(
commit、push、pull),不支持rebase -i或子模块嵌套操作 - 想跑真实 shell?只能切回桌面版 VS Code 客户端,用 Web 端只是看和轻量编辑,别当主力开发环境用
git push,所有改动就真的没了。



















