临时 Support Tailnet 与 SSH 技术支持
本文定义 AgentMeshOS 对外部临时电脑的授权接入流程。它复用 Headscale/Tailnet 和 SSH,不创建自建 WSS Gateway,不创建隐藏远控 Agent,也不把临时电脑加入 Nomad Worker 池。
操作流程
- 通过向日葵或 RustDesk 取得目标所有者的明确桌面授权。
- 在主节点创建一次性 Support Tailnet Auth Key,并记录会话 ID。
- 在目标电脑运行对应平台脚本。脚本默认只检查,必须明确加入
--apply或-Apply才修改系统。 - 目标设备使用
tag:temporary-support加入 Tailnet,固定关闭accept-dns、accept-routes、Exit Node 和子网路由。 - 主节点只通过 ACL 允许的 SSH 访问目标设备。
- 当前系统 Codex 只在主机侧辅助分析 SSH 输出和生成维修步骤。
- 结束时关闭 SSH、删除 Headscale 节点、撤销 Auth Key、移除临时 SSH 公钥并验证清理结果。
访问边界
Support 节点只允许“主节点/指定操作员 -> Support 节点 SSH”。Support 节点不得访问 main 管理接口、101/103/jj、Nomad、Cloudreve、OmniRoute、Headscale 管理 API 或 Codex App Server。
ACL 策略契约
下列是待在隔离 Headscale 测试环境中落地并验证的策略要求,不是未经版本核对即可直接应用的生产配置:临时节点必须带 tag:temporary-support;仅指定主节点/支持操作员到该标签的 TCP 22 允许;临时标签到生产标签、Nomad、Cloudreve、OmniRoute、Headscale 管理接口和其他节点全部拒绝;临时节点不能作为 Exit Node、不能发布子网路由、不能接管 Tailnet DNS。生产 ACL 变更前必须保存当前配置、确认 Headscale/Tailscale 实际版本语法,并完成三平台隔离连通性测试。
临时电脑可以拥有自身的 root/Administrator 权限,但该权限不等于 AgentMeshOS 生产权限。禁止把主节点 SSH 私钥、Nomad Token、Cloudreve 凭据、Provider Key 或 Codex 配置复制到目标电脑。
脚本
- Linux:
scripts/clients/agentmeshos-support-linux.sh - macOS:
scripts/clients/agentmeshos-support-macos.sh - Windows:
scripts/clients/agentmeshos-support-windows.ps1
脚本均带版本头。PowerShell 文件必须以 UTF-8 with BOM 保存;Shell 和本文档使用 UTF-8 无 BOM。
清理验收
清理必须分别验证:Headscale 节点不存在、Auth Key 已撤销、Tailnet 地址不可达、SSH 公钥不存在、临时配置已删除、生产节点状态无变化。任何一步失败都记录为 cleanup_failed,不能仅删除服务端记录后宣称完成。