技术原理2026-06-24· 12 分钟阅读

反向接入技术揭秘:Agent Connect 如何让手机安全远程控制 AI 终端?

当你用手机远程控制电脑上的 Claude Code 时,数据是怎么安全到达的?为什么有的方案需要公网 IP, 有的不需要?"反向接入"到底是什么技术?本文为你一一拆解。

1. 远程控制的根本难题:防火墙与 NAT

要理解反向接入,首先要知道为什么"远程控制"这件事本身在今天的网络环境中这么困难。

当你坐在电脑前,用手机去控制另一台电脑时,本质上就是两台设备之间建立一条网络连接。 但在现实世界中,这条连接会遇到两个障碍:

🧱 障碍一:NAT(网络地址转换)

绝大多数家庭和公司网络中的电脑,使用的都是内网 IP 地址(如 192.168.x.x)。 内网 IP 在外网中不可直达。好比你的手机号只有公司内部分机号,外线拨不进来。

🔥 障碍二:防火墙

即使你的电脑有公网 IP,防火墙也会默认阻止所有入站连接。 公司网络、云服务商的安全组,都会严格限制入站流量——这是最基本的安全策略。

简单说:你的电脑可以"走出去"联网,但外面的人"走不进来"找你的电脑。这就是反向接入要解决的核心问题。

2. 传统方案:端口映射与 VPN

面对 NAT 和防火墙的限制,传统上有两种经典解法:

方案 A:端口映射(Port Forwarding)

在路由器上设置端口映射,将公网的某个端口指向内网电脑的 SSH 端口(22)。

公网 IP:2222  ──→ 路由器端口映射 ──→ 内网电脑:22 (SSH)

风险:SSH 端口暴露在公网上,24 小时被扫描器探测。一旦 SSH 服务有漏洞或密码泄露,整台机器就被攻破。

方案 B:VPN(虚拟专用网络)

在公司/家庭网络搭建 VPN 服务器,手机连入 VPN 后获得内网 IP,然后像局域网一样直连电脑。

手机 ──→ VPN 服务器(公网)──→ 内网电脑:22 (SSH)

问题:设置复杂,VPN 服务器本身也需要公网 IP 暴露在外。VPN 一旦连上,手机就能访问整个内网,安全边界模糊。

这两种方式的共同缺陷是:必须在防火墙上开一个"洞"——要么开放入站端口,要么运行一个公网可达的 VPN 服务器。 这正是反向接入要消除的风险。

3. 反向接入:从"被连接"到"主动连"

反向接入(Reverse Access)的核心思想很简单:不让外部连接进来,而是让内部主动连出去。

具体来说,被控机器上运行一个 Agent 程序,这个 Agent 主动发出站 WebSocket 连接到一台云端的 Hub 服务器。 手机浏览器也连接到同一个 Hub 服务器。Hub 在中间做消息转发——手机发的指令转给 Agent,Agent 的输出转回手机。

架构示意图

┌─────────────┐        ┌──────────────┐        ┌──────────────┐
│  手机浏览器  │  WSS   │  云端 Hub    │  WSS   │  被控电脑    │
│  (控制端)   │◄──────►│  (yanlin-    │◄──────►│  Edge Agent  │
│             │        │   ai.cn)     │        │  (主动出站)   │
└─────────────┘        └──────────────┘        └──────────────┘
                              │
                     ┌────────┴────────┐
                     │  无入站端口     │
                     │  穿透 NAT/防火墙│
                     │  出站 WSS 连接  │
                     └─────────────────┘

关键点在于:被控电脑只主动"走出去",从不被动"等人进来"。

  • Edge Agent 启动时,通过 出站 WebSocket Secure(WSS) 连接 Hub
  • 这个连接和普通浏览器访问 HTTPS 网站没有本质区别——防火墙通常允许出站连接
  • 被控电脑不需要开放任何入站端口,路由器不需要端口映射
  • 即使被控电脑在公司内网、家庭 NAT 后面,都可以正常工作

这种模式在网络安全领域叫做 "零信任远程访问""出站连接模式", 和 Cloudflare Tunnel、ngrok 等工具采用类似的思想。

4. Agent Connect 的反向接入架构详解

了解了反向接入的大致原理后,我们再深入看 Agent Connect 的具体实现。 整个系统分为三层:

第一层:Hub 服务器(云端)

Hub 是 Agent Connect 的核心中继。它同时维护两类 WebSocket 连接:

  • 与 Agent 的连接:被控机器上 Edge Agent 的持久出站 WSS 连接
  • 与控制台的连接:浏览器(手机/电脑)的 WebSocket 连接

Hub 不存储任何代码或数据,只做实时消息转发。所有连接使用 WSS(WebSocket Secure),即 TLS 加密的 WebSocket,和 HTTPS 同级别的加密保护。

第二层:Edge Agent(被控电脑)

Edge Agent 是跑在被控电脑上的 Node.js 程序。它的工作:

  • 启动时建立到 Hub 的出站 WSS 连接
  • 通过 node-pty 启动本地终端进程(Shell / Claude Code / Codex)
  • 将终端输出实时转发给 Hub → 手机浏览器
  • 接收手机浏览器发来的指令,注入到终端进程
  • 管理会话生命周期(启动、保活、重连、销毁)

第三层:Web 控制台(手机浏览器)

手机浏览器访问的 Web 控制台,提供完整的操作界面:

  • 机器列表:查看所有在线的被控机器
  • 终端窗口:实时显示 Claude Code / Codex / Shell 的输出
  • 输入区域:发送命令和 prompt
  • 会话管理:查看历史会话、重进续聊

数据传输流程

当你在手机上向 Claude Code 发送一条消息时,数据流如下:

  1. 你在手机浏览器输入消息,点击发送
  2. 浏览器通过 WSS(WSS over TLS) 将消息发送到 Hub
  3. Hub 根据机器 ID 找到对应的 Edge Agent 连接,转发消息
  4. Edge Agent 通过 WSS(也是一个出站连接)接收消息
  5. Agent 将消息注入到本地的 Claude Code 进程中
  6. Claude Code 开始处理,输出实时流式结果
  7. Agent 捕获输出,通过 WSS 发回给 Hub
  8. Hub 转发回手机浏览器
  9. 浏览器实时渲染,打字机效果逐字显示

全程 TLS 加密,整个链路和你访问网上银行一样安全。

5. 安全性对比:反向接入 vs 传统方案

安全维度端口映射 (SSH)VPN反向接入 (Agent Connect)
暴露入站端口✅ 是(SSH:22 暴露公网)⚠️ VPN 服务器暴露❌ 零入站端口
被扫描风险高(24h 被扫描器探测)中(VPN 端口暴露)无(无端口可扫)
传输加密SSH 加密VPN 加密TLS (WSS) 加密
内网横向移动风险高(被攻破后进入内网)高(VPN 连上后能访问整个内网)无(Agent 只连接指定 Hub)
身份认证SSH Key / 密码VPN 证书 / 密码Token 授权 + 企业账号
审计日志通常无有限会话历史可追溯
防火墙配置需要修改路由器需要搭建 VPN不需要任何配置

为什么反向接入更安全?

🔒 攻击面最小化

反向接入模式下,被控机器没有任何入站端口。没有端口 = 没有东西可以被扫描 = 没有远程漏洞可以被利用。攻击者甚至不知道这台机器的存在。

🚫 无横向移动风险

即使 Hub 被攻破,攻击者也只能控制到 Hub 到 Agent 的 WSS 连接,无法通过 Agent 进入被控机器的内网。Agent 只做终端转发,不做网络路由。

🔐 企业级授权

Agent 注册需要 Enrollment Token,控制台登录需要企业账号认证。双重保障确保只有授权的机器和用户能接入。

📋 会话可追溯

所有远程会话都有历史记录,可以追溯谁在什么时间控制了哪台机器、执行了什么操作。这在传统 SSH/VPN 方案中很难做到。

6. 企业级安全特性

对于企业用户,Agent Connect 还提供了额外的安全功能:

🏢 多租户隔离

每个企业的机器和数据完全隔离,不同企业之间的机器互不可见。

🔑 Enrollment Token

Agent 注册需要携带企业专属 Token,防止未经授权的机器接入。

👥 团队权限管理

支持多用户账号,可以精细控制谁有权访问哪些机器。

📊 操作审计

完整的会话记录和操作日志,满足企业合规审计需求。

7. 常见问题

反向接入和 ngrok/Cloudflare Tunnel 有什么区别?

核心原理相似——都是通过出站连接建立隧道。但 Agent Connect 是专门为 AI 编程终端设计的,多了会话管理、Claude Code/Codex 原生集成、多机器控制台等功能。ngrok/Cloudflare Tunnel 是通用隧道工具,需要自己搭建终端环境。

Hub 能看到我的代码内容吗?

Hub 只做实时消息转发,理论上可以访问传输中的数据。但所有传输都经过 TLS 加密,且 Agent Connect 的 Hub 只转发数据不存储数据。如需更高安全级别,可以选择支持端到端加密的方案(如 GhostTerm 的 P2P 模式)。

Agent 连接断了怎么办?

Agent 会自动重连。如果网络中断时间较长(超过 10 分钟),Hub 会标记机器为离线。网络恢复后 Agent 会自动重新注册,机器重新变为在线状态。

企业内网代理限制能使用吗?

可以。Agent 使用标准的 WSS 协议(WSS over TLS),通常能通过企业代理。如果代理有特殊要求,可以通过环境变量配置自定义代理设置。

我的代码会传到第三方服务器吗?

在 Agent Connect 方案中,代码始终在被控机器上本地处理。Claude Code 和 Codex 的 AI 处理也是在被控机器上调用本地 CLI 完成的。传输到 Hub 的只有终端的输入输出流,而不是源代码文件本身。

安全、零配置的远程 AI 编程

Agent Connect 用反向接入技术,让远程控制 Claude Code 和 Codex 更简单、更安全

立即免费体验 →
反向接入技术揭秘:Agent Connect 如何让手机安全远程控制 AI 终端? | Agent Connect