通过 Thandoff 账户访问
Thandoff 账户可以把一台自管 Control Plane 发布到账户目录,并通过后台中转供移动端等已授权客户端访问。Control Plane 主动建立出站连接,因此无需为了这条路径开放 Control Plane 或 Node Agent 的公网入站端口。
这项能力中转的是“客户端到 Control Plane”的 API、响应流和 WebSocket,不是 Node Agent 之间的账号型中继。
绑定 Control Plane
只有本地管理员可以修改账户连接:
- 在本地或可信网络中打开“设置 → Thandoff 账户”。
- 记录页面显示的 Control Plane ID 和身份指纹。
- 选择“连接 Thandoff 账户”。系统会打开授权页面,并把一次性授权码复制到剪贴板。
- 在授权页面登录目标账户,核对 Control Plane ID、指纹和授权码后确认。
- 返回设置页,确认状态为“已连接”,且后台中转显示“已安装专用凭证”。
- 在移动端登录同一个 Thandoff 账户,从 Control Plane 目录添加该面板,并再次核对身份指纹。
一次性授权码约 5 分钟内有效,且消费后立即失效。授权未完成或已经过期时,回到设置页重新发起,不要继续使用旧页面中的授权码。
后台运行方式
中转由 Control Plane 后台进程持有,不依赖发起授权的浏览器页面。以下操作不会停止中转:
- 关闭“Thandoff 账户”设置页;
- 退出本地 Web UI;
- 关闭或让授权浏览器会话过期。
停止 Control Plane 服务、关闭远程访问、撤销绑定或发生身份冲突会终止中转。服务恢复后,只要绑定仍有效且远程访问已开启,后台进程会使用专用凭据重新连接。
状态说明
| 状态 | 含义 | 建议操作 |
|---|---|---|
| 未连接 | 没有有效账户绑定 | 发起连接 |
| 等待授权 | 已创建一次性授权挑战 | 在过期前完成授权,或重新发起 |
| 已连接 | 绑定有效 | 根据需要开启或关闭远程访问 |
| 等待撤销 | 本地已关闭,但远端撤销结果未确认 | 恢复网络后重试断开,不要绑定第二个账户 |
| 身份冲突 | 另一安装正在使用同一 Control Plane 身份 | 先确定哪个安装保留原身份 |
页面中的“绑定 revision”用于识别账户侧授权版本;客户端访问时还会校验 Control Plane ID、账户、绑定 ID 和 revision。旧的或已撤销的授权不能继续建立新连接。
关闭与断开
“关闭远程访问”和“断开 Thandoff 账户”含义不同:
| 操作 | 保留账户绑定 | 停止中转 | 后续恢复 |
|---|---|---|---|
| 关闭远程访问 | 是 | 是 | 选择“开启远程访问” |
| 断开 Thandoff 账户 | 否 | 是 | 重新完成绑定授权 |
关闭远程访问时,本地停用立即生效;如果远端结果暂时未知,界面会提示该状态。断开账户会先把状态置为等待撤销并关闭连接,再向账户服务撤销绑定。远端撤销未确认前,本地不会允许绑定第二个账户,以免产生两个权威绑定。
处理身份克隆冲突
Control Plane 的 ID 和签名身份保存在其数据目录中。直接复制整个数据目录并同时运行原安装和副本,会让两台机器以同一身份上线。账户服务检测到这种情况后,会把状态置为“身份冲突”、删除后台中转凭据并隔离所有远程数据连接。
不要通过反复点击“开启远程访问”绕过冲突。应先停止其中一个安装,确定哪台机器保留原 Control Plane 身份,再让副本使用新的数据目录建立新身份并重新配置。恢复前核对备份和 DNS 指向,避免把生产身份误留在临时副本。
安全检查
- 只在可信的本地管理员会话中发起绑定或断开操作。
- 在授权页和移动端同时核对 Control Plane ID 与身份指纹。
- 丢失移动设备时,在 Control Plane 的移动设备会话中撤销该设备;普通设备丢失不需要轮换 Control Plane 身份。
- 账户异常、后台凭据被撤销或远程访问被关闭时,已有中转连接也应随之关闭。
- Thandoff 账户中转不能替代 Control Plane 自身的用户、角色和节点/实例访问范围控制。