文档目录

WingGate 把你接入的服务与你网络内运行的 wing-connector 分开。本文说明连接器做什么、部署在哪里、需要什么网络连通性,以及如何运维与排障。

架构

WingGate 部署有两侧:服务,以及你这一侧运行的 wing-connector。

组件 部署位置 职责
WingGate 服务,托管或自托管部署 身份、组织与项目、授权、会话与审计记录,以及所有访问的协调点。资产凭据以加密形式(AES-256-GCM)存储,绝不通过 API 返回;连接器只能通过作用域化的按引用兑换获取它们。
wing-connector 你的网络,能触达资产的主机上 通过双向 TLS 主动连接 WingGate,并把 Web 终端、SSH、文件与 MCP 流量代理到目标主机。资产只需对该组件可达。

wing-connector 通过相互认证的 TLS 通道向 WingGate 建立出站连接:你侧无需任何入站防火墙规则,目标资产也不需要公网 IP。完整的职责划分见连接模型。

部署形态

  • 单机 —— 个人基础设施只需在一台能触达资产的机器上运行一个 wing-connector。最简单的起步方式。
  • 每个网络一个 —— 面向团队,在每个持有资产的网络(VPC、家庭实验室、办公室)各运行一个 wing-connector。每个网络只需具备到 WingGate 的出站能力。

网络要求

连接 要求
wing-connector 到 WingGate 出站连接,通过反向传输上的 mTLS 认证。你侧无需任何入站防火墙规则。
wing-connector 到目标主机 连接器必须能按你启用的连接配置访问每台目标主机的对应端口,通常是 SSH。首次使用前会探测并确认 SSH 主机密钥。
客户端到 WingGate SSH 客户端使用 SSH 协议连接 WingGate 的 SSH 端点;Web 终端与控制台内文件访问直接与服务通信。
MCP 客户端 MCP 客户端连接连接器的 MCP ingress,而不是服务。

访问路径

每种访问方式一条路径,各自终结在其协议要求的端点。

客户端 连接目标 认证方式
SSH 客户端 WingGate 的 SSH 端点 SSH 公钥,由服务校验
SSH Direct wing-connector 的本地 SSH listener 公钥、密码 + OTP 或 Web 授权,经服务校验
Web 终端(浏览器) WingGate(会话流) 带 MFA 的登录会话
MCP 客户端 wing-connector 的 MCP ingress 项目 MCP 凭据
文件访问(控制台内) WingGate,经你的会话提供服务 活跃会话作用域

端点

规划三类端点:服务(Web 控制台与 API,HTTPS)、SSH 端点(SSH 协议,供你的客户端连接)、连接器的出站 mTLS 通道(无需任何入站防火墙规则)。具体地址与端口由你的部署提供。

前置条件

  1. 一台能触达目标资产 SSH 端口的 Linux 主机。
  2. 该主机到 WingGate 的出站 HTTPS 连通性;无需开放任何入站端口。
  3. WingGate mTLS 端点的 DNS 名称与有效证书,需与防火墙规则一并规划。
  4. 你要绑定连接器的组织中的 Owner 或 Admin 角色。

安装与绑定

  1. 使用你的部署提供的安装脚本在主机上安装 wing-connector(控制台「执行端」页的「添加执行端」对话框给出的一行命令,自动识别 x86_64/aarch64,需要 root 或 sudo);systemd 主机上它以 systemd 服务运行,非 systemd 主机按脚本提示手动运行。
  2. 为连接器配置 WingGate 的 mTLS 端点地址。
  3. 启动服务并确认其运行状态:
systemctl status winggate-connector-entry
  1. 在 Web 控制台(导航中的「执行端」)绑定该组织内的连接器。绑定会为连接器签发独立凭据,用于向 WingGate 认证。

控制台中的执行端列表

预期结果

连接器在组织的连接器清单中显示为在线。此后你可以在它后面注册资产并挂载连接配置,再通过项目授予访问。

可选:SSH Direct listener

连接器可以暴露一个本地 SSH listener(SSH Direct),让你的 SSH 客户端直接连到连接器主机即可访问资产,而不是连 WingGate 的 SSH 端点。归属分两类:

  • wing-connector 自身的 listener:默认关闭,按连接器配置。
  • WingGate 的 SSH 入口:不是按连接器配置项。首次安装时由 WingGate 侧给出默认端点(canonical 默认 0.0.0.0:9022;本部署用 22),它也不出现在控制台的连接器列表里,当前没有受支持的控制台更新路径。

按连接器配置:

  1. 在 Web 控制台打开该连接器的 SSH Direct 设置。
  2. 启用 listener 并选择监听地址(仅本机用 127.0.0.1:9022,接受所有接口用 0.0.0.0:9022)。将监听暴露到 loopback 之外还需连接器的 ssh_direct.allowNonLoopback 设置。listener 的暴露面遵循连接器主机的防火墙。
  3. 至少选择一种认证方式:公钥、密码 + OTP 或 Web 授权。
  4. 连接器通过 WingGate 认证你,只列出你已被授权的项目内、且支持 SSH 客户端入口的资产。

SSH Direct 会话与其它入口走相同的会话、授权与审计边界——见身份与访问。

分层排障

访问失败时按顺序排查——每一层都有不同的失败特征:

  1. WingGate 服务 —— 能否登录 Web 控制台并看到组织?如果不能,问题在账号或服务侧,与你网络内的一切无关。
  2. wing-connector —— 控制台是否显示它在线且绑定到正确的组织?连接器离线会让其下所有资产的所有访问方式同时失效。
  3. 目标主机 —— wing-connector 能否触达主机,SSH 主机密钥是否与已确认的一致?主机密钥不匹配与连接拒绝都发生在这一层。

审计与排障文章逐层覆盖了详细排查方法,包括连接器日志与升级流程。

升级与回滚边界

  • 升级顺序如下:先 WingGate 服务,后连接器组件;手动操作时保持同样顺序。
  • WingGate 服务重启期间,活跃 session 与连接器 shell 会被保留,前端自动重连;据此规划升级窗口。
  • 回滚意味着连同配置一起恢复之前的 WingGate 服务与连接器二进制;服务的存储及其备份留在你的信任边界内,由你决定恢复内容。

连接器离线时

连接器离线意味着 WingGate 无法触达其后的资产;到这些资产的现有会话会失败。按以下顺序排查:

  1. 连接器主机到 WingGate 的出站连通性(DNS、防火墙、代理)。
  2. 主机上的连接器服务状态与日志(journalctl -u winggate-connector-entry)。
  3. 连接器凭据是否仍然有效;如有疑问,像对待其它机器凭据一样轮换它。