使用 SSH 客户端连接
除了浏览器内的 Web 终端,你也可以用自己的 SSH 客户端触达资产。使用你自己的 SSH 客户端时认证采用公钥(网关也接受密码 + OTP 与 Web 授权)。你证明持有私钥,WingGate 从不保存你的私钥。
前置条件
- 已完成 MFA 引导(TOTP 或 passkey)的 WingGate 账号。
- 资产所在项目上有该成员的 active 项目访问授权,且资产支持 SSH 客户端入口。
- 资产的 SSH 主机密钥已确认(见下文)。
- 一个能触达该资产的在线连接器。
注册公钥
如果还没有密钥对,先生成:
ssh-keygen -t ed25519在 Web 控制台打开账号的 SSH 密钥区域,添加公钥。绝不要在任何地方粘贴私钥;WingGate 只保存公钥。
确认主机密钥
首次向某个资产发起 SSH 连接前,WingGate 会探测目标主机的 SSH 主机密钥并要求你确认。带外核对指纹后确认。之后该 key 被固定:再次出现不匹配会被标记,而不是被静默接受。如果主机重建或更换了地址,重新探测并审慎确认——对无法解释的不匹配绝不要覆盖。
连接
将 SSH 客户端指向 WingGate 的 SSH 端点;服务认证你的密钥、检查授权,并通过 wing-connector 把会话转发到资产:
ssh <user>@<hub-ssh-endpoint>
确切的端点地址与端口取决于你的部署。
该入口提供两条流程。交互 shell:不带命令运行时,WingGate 会列出你已授权的资产,选择后进入目标 shell。CLI SFTP:ssh -s '<user>@<asset>'@<hub-ssh-endpoint> sftp——登录名里的资产选择器必须在你的授权可见集内唯一匹配;不存在、重名或未授权一律拒绝。连接器的本地 SSH Direct listener 不提供 SFTP。带命令(ssh <user>@<hub-ssh-endpoint> <command>,即 exec 通道)的请求仍会被拒绝并提示改用交互式登录——WingGate 不解析也不执行客户端命令。
替代路径:SSH Direct 直连连接器
如果服务该资产的 wing-connector 启用了 SSH Direct,你也可以把 SSH 客户端指向连接器的本地 SSH listener 从那里接入资产——连接器通过 WingGate 认证你,并列出你的授权所覆盖的资产。
项目总览中 SSH 资产行的 SSH 入口会给出可复制的连接命令:已绑定执行端的资产优先展示绑定连接器的直连地址;未绑定执行端的资产会回退到组织内启用 SSH Direct 的 wing-connector(在线优先)。命令优先展示连接器的对外地址(由连接器运维在 SSH Direct 配置中设置,仅用于展示,不影响实际监听);未配置对外地址时回退展示监听地址,若为回环地址会明确提示只能在连接器宿主机上使用。组织中没有任何启用 SSH Direct 的连接器时,无直连端点,只能走上方网关路径。监听地址与可接受的认证方式由连接器运维方设置;配置见部署连接器,共享边界见连接模型。
预期结果
在目标主机上打开 shell。该会话会以你为操作者出现在组织的审计视图中。
终端窗口标题会切换为该资产(名称、地址、所属 organization/project,多身份时带登录用户名),方便多个会话标签之间区分。
连接失败时
按以下顺序排查:
- 认证——公钥是否已注册到账号,客户端是否提供了匹配的私钥(
ssh -v会显示尝试了哪些密钥)? - 授权——成员是否持有该项目的 active grant,且资产属于该项目并支持 SSH 客户端入口?
- 主机密钥——资产的主机密钥是否已确认,或是否存在未解决的不匹配?
- 连接器——服务该资产的连接器是否在线?
- 凭据——资产的连接配置中是否保存着目标主机的有效凭据?