跳转至

临时 Support Tailnet 与 SSH 技术支持

本文定义 AgentMeshOS 对外部临时电脑的授权接入流程。它复用 Headscale/Tailnet 和 SSH,不创建自建 WSS Gateway,不创建隐藏远控 Agent,也不把临时电脑加入 Nomad Worker 池。

操作流程

  1. 通过向日葵或 RustDesk 取得目标所有者的明确桌面授权。
  2. 在主节点创建一次性 Support Tailnet Auth Key,并记录会话 ID。
  3. 在目标电脑运行对应平台脚本。脚本默认只检查,必须明确加入 --apply-Apply 才修改系统。
  4. 目标设备使用 tag:temporary-support 加入 Tailnet,固定关闭 accept-dnsaccept-routes、Exit Node 和子网路由。
  5. 主节点只通过 ACL 允许的 SSH 访问目标设备。
  6. 当前系统 Codex 只在主机侧辅助分析 SSH 输出和生成维修步骤。
  7. 结束时关闭 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,不能仅删除服务端记录后宣称完成。