Warpgate 介绍与选型指南
Warpgate(warp-tech/warpgate)Rust 单二进制透明网关与堡垒机的定位、架构与功能全解:七协议接入、会话录制、用户角色授权,附与 Teleport/ShellHub/SSH 跳板机的量化选型对比(溯源日期 2026-10-27,v0.30.2)。
Warpgate 介绍与选型指南
目标:面向需要在内网与 DMZ 之间架设「免客户端、全协议、可审计」接入网关的运维团队,基于官方仓库与文档溯源(查询日期 2026-10-27,最新稳定版 v0.30.2)讲清 Warpgate 的定位、架构、功能边界,并给出与 Teleport、ShellHub、传统 SSH 跳板机的量化选型对比。
一、环境信息与溯源口径
本文为认知与选型篇,全部信息来自公开渠道联网溯源,未做本地实测;实测过程见本专栏部署与命令篇。溯源清单如下:
| 溯源项 | 来源 | 查询日期 |
|---|---|---|
| 最新稳定版本 | GitHub Releases(releases/latest 重定向至 tag/v0.30.2) | 2026-10-27 |
| Release 附件清单 | GitHub Release v0.30.2 附件页 | 2026-10-27 |
| 社区活跃度(星数) | shields.io 徽章接口 img.shields.io/github/stars/warp-tech/warpgate.json,返回 8.2k | 2026-10-27 |
| 项目定位、特性、官方对比表 | 仓库 README.md(master 分支) | 2026-10-27 |
| 开源协议 | 仓库 LICENSE 文件(Apache License 2.0) | 2026-10-27 |
| 安装与初始化流程 | 官方文档站 warpgate.null.page《Getting started (binary)》 | 2026-10-27 |
| 配置项全集 | 仓库 config-schema.json(JSON Schema) | 2026-10-27 |
名称澄清:本文所指 Warpgate 是 GitHub 上的 warp-tech/warpgate(Rust 编写的接入网关/堡垒机)。社区中另有以「Warpgate」命名的 Cloudflare Workers 同名项目与商业网关产品,均与本文实体无关,选型检索时请以仓库归属 warp-tech 为准。
二、软件概述
Warpgate 官方 README 对自身的定义是:一个智能、完全透明的 SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP 和 VNC 堡垒机,不需要客户端程序,也不需要 SSH wrapper(来源:README.md,2026-10-27)。
💡 技术拓展:堡垒机(Bastion Host)与跳板机(Jump Host)常被混用,但工程含义有差别。跳板机只提供「经它中转连过去」的网络通路(如 OpenSSH 的 ProxyJump),本身不认识协议内容;堡垒机则在中间终结并重建连接,能识别协议、执行认证授权、录制会话内容。Warpgate 属于前者定位的升级形态——对外像一个跳板机一样用原生客户端直连(对客户端完全透明),对内则按堡垒机方式终结协议、校验用户身份并录制。
关键卖点逐条对应 README 原文:
- 部署在 DMZ 区,添加用户账号并精确分配到具体主机与 URL;
- 自动录制每一个会话,可实时观看,也可事后在内置管理 Web UI 中回放;
- 浏览器内的 SSH、RDP、VNC 访问内建提供;原生客户端(ssh、数据库客户端、VNC/RDP 客户端)继续可用;
- 不是跳板机——连接被直接转发到目标,对客户端完全透明;
- 原生 2FA 与 SSO 支持(TOTP 与 OpenID Connect);
- 内建暴力破解防护(IP 封锁与用户锁定);
- 单二进制、零依赖;
- 100% Safe Rust 编写。
社区与工程信息(2026-10-27 溯源):
- GitHub 星数 8.2k(shields.io 徽章读数);
- 开源协议 Apache-2.0(仓库 LICENSE 文件);
- Release 附件提供
x86_64-linux与arm64-linux两个裸二进制,以及对应的 CycloneDX SBOM(.cdx.xml),无 tar 包、无依赖库; - 技术栈(README):Rust 侧 HTTP 用 poem-web、数据库用 SQLite via sea-orm + sqlx、SSH 用 russh;管理台前端为 TypeScript + Svelte 5 + Bootstrap;
- README「Project Status」章节声明项目在企业环境中实际使用,路线图在 GitHub Projects 公开维护;
- README 还有「AI transparency disclosure」章节:2025 年底起接受 AI 辅助贡献但要求贡献者披露,架构与安全决策由人工把关。
三、核心架构
综合 README「How it works」章节与官方文档站目录(来源均为 2026-10-27 溯源),Warpgate 的工作模型可以拆成四层:
- 协议监听层:单个进程按配置同时监听七类协议入口(SSH、HTTP/HTTPS、Kubernetes、MySQL、PostgreSQL、VNC、RDP),每类入口可独立开关并指定监听地址端口;
- 认证与路由层:连接到达后,Warpgate 用「特殊格式的凭证」识别用户与目标——例如 SSH 场景以
用户名:目标名作为登录用户名,HTTP 场景经浏览器登录后在目标选择页指定目标——本地(或 SSO/LDAP)完成用户认证后,再由 Warpgate 使用预配置的目标凭证去连接真实目标; - 转发与录制层:认证通过后把两端接通,过程中可选地对会话做全量录制;SSH 场景下 Warpgate 以自己的客户端密钥连接目标(
warpgate client-keys可打印这些公钥,便于加入目标机authorized_keys); - 数据与管理层:目标、用户、角色、会话历史存于数据库(默认 SQLite,位于数据目录,亦支持外置 MySQL/PostgreSQL);内置管理 Web UI 提供目标/用户/角色管理、实时会话列表、录制回放与日志查看。
官方 README 强调的与跳板机的本质差异:跳板机通常意味着「拿到跳板网络内的大范围访问权」,而 Warpgate 做的是用户与服务之间精确的 1:1 授权——每个用户只能看到被授权的目标列表。
四、功能特性
以下特性清单来自 README 与官方文档站导航(来源:README.md + warpgate.null.page 目录,2026-10-27):
协议接入
- SSH:原生 ssh 客户端直连 + 浏览器 Web SSH;
- HTTP/HTTPS:以反向代理形态接入内网 Web 站点,登录后选择目标即可访问;
- MySQL / PostgreSQL:数据库客户端直连,Warpgate 作为协议代理;
- Kubernetes:kube-apiserver 接入代理;
- VNC / RDP:远程桌面接入,浏览器内 Web 桌面可用。
访问控制与安全
- 本地用户密码认证;
- 用户角色(Role)作为用户与目标之间的授权媒介;
- 一次性密码(TOTP)2FA;
- SSO:OpenID Connect(官方文档含 SSO 专页);
- LDAP 认证(官方文档含 LDAP 专页与 admin API 的 ldap-servers 端点);
- 登录保护:暴力破解防护、IP 封锁、用户锁定(官方文档 Login Protection 专页);
- 访问票据(Tickets):临时访问凭证,支持有效期与使用次数上限,可配合会话审批(Session Approvals)走人工放行流程;
- 凭证静态加密与 Vault/OpenBao 密钥后端(官方文档「Encrypting credentials at rest」「Vault / OpenBao」)。
审计与运维
- 全会话录制:SSH 终端、HTTP 流量、数据库会话、桌面会话均可录制,管理台支持实时观看与回放;
- 集群运行(官方文档 Running a cluster);
- 日志转发(Log forwarding)、支持输出 JSON 格式日志;
- 可置于反向代理之后运行(Running behind a reverse proxy),支持 Proxy Protocol 与 X-Forwarded 头信任开关;
- 自定义根 CA、TLS SNI 多证书、HTTP 域名绑定(HTTP domain binding)、多级 Warpgate 链式部署(Chaining Warpgate instances);
- 系统集成:官方文档提供 systemd 服务安装、备份恢复、升级等运维专页。
五、快速开始(最小可用示例)
以下流程为官方文档站《Getting started (binary)》所载步骤摘录(来源:warpgate.null.page/getting-started/,查询日期 2026-10-27),供选型前建立整体认知;逐命令实测与完整回显见本专栏安装篇。
-
从 Releases 页取得稳定版二进制,保存为
/usr/bin/warpgate并赋予执行权限:chmod +x /usr/bin/warpgate -
运行首次安装向导,交互式生成配置文件:
warpgate setup官方文档展示的向导会依次询问数据目录(默认
/var/lib/warpgate)、HTTP/SSH/MySQL/PostgreSQL/Kubernetes 各监听端口、是否启用 VNC/RDP、是否录制会话,以及管理员密码;生成的配置写入/etc/warpgate.yaml,同时生成 SSH 主机密钥、客户端密钥与 TLS 证书,并创建管理员用户admin。 -
启动服务:
warpgate --config /etc/warpgate.yaml run -
浏览器访问
https://<主机>:8888/@warpgate/admin(注意是 https),以admin与向导中设置的密码登录管理台。 -
在管理台中添加目标(Target)与用户(User),通过角色(Role)完成授权;随后即可用
ssh <用户名>:<目标名>@<堡垒机> -p 2222的方式直连目标。
自动化场景可使用非交互模式:warpgate unattended-setup,支持以命令行参数一次性指定数据目录、各协议端口、会话录制开关、管理员密码与目标主机密钥校验策略;--database-url mysql://... 或 postgres://... 可改用外置数据库。此外官方文档站提供 Docker、Helm 与 Kubernetes Operator 三种容器化起步路径,仓库 README 亦给出基于 Rust + NodeJS 的源码编译方法。
六、适用场景与限制
典型适用场景(依据官方定位与功能清单归纳):
- DMZ 统一入口:把散落在内网的 SSH、Web、数据库、K8s API、远程桌面的访问收口到一台网关上,每人只见自己的授权目标;
- 外包与临时授权:用 Tickets 发放限时/限次访问凭证,配合会话审批做到「申请—放行—到期回收」的闭环;
- 审计合规:全协议会话录制 + 实时观看 + 回放,满足操作留痕要求;
- 浏览器即运维终端:出差或受限终端场景下,Web SSH/Web 桌面免装客户端;
- 数据库运维代理:DBA 经 MySQL/PostgreSQL 协议代理访问实例,连接过程被记录;
- 零依赖快速落地:单二进制 + SQLite 即可跑起来,也具备外置数据库与集群的扩展路径。
需要权衡的限制(依据官方文档与 README 可确认的事实):
- 目标侧凭证仍需自行维护:Warpgate 保存连向目标的密码/密钥,官方为此提供凭证静态加密与 Vault/OpenBao 后端,但「目标凭证的轮换」仍在使用方职责内;
- 录制与审计数据持续增长:默认配置中日志保留 7 天、审计录制保留约 12 个月(config-schema 默认值
7days/11months 30days 3h 50m 24s),存储规划需按录制量估算; - SSO 仅支持 OpenID Connect 一类(LDAP 为另一路径),直连 SAML 等协议需外层转换;
- Web 管理台与 HTTP 代理默认使用自签 TLS 证书,正式对外需替换为受信证书(配置支持指定证书与 SNI 多证书);
- Kubernetes/MySQL/PostgreSQL/VNC/RDP 各监听器默认未全部启用,按需在安装向导或配置中开启。
七、同类选型对比
下表从部署形态、协议覆盖、认证审计能力等维度对比 Warpgate 与同类方案。Warpgate/Teleport/SSH 跳板机三列的结论以 Warpgate 官方 README 对比表(2026-10-27 溯源)为底本整理;ShellHub 一列基于其公开项目定位归纳,供参考。
| 维度 | Warpgate v0.30.2 | Teleport | ShellHub | 传统 SSH 跳板机(ProxyJump) |
|---|---|---|---|---|
| 定位 | 多协议透明接入网关 + 堡垒机 | 零信任接入平台 | SSH 远程接入网关 | 网络层跳板 |
| 协议覆盖 | SSH/HTTP/MySQL/PostgreSQL/K8s/VNC/RDP 共 7 类 | SSH/K8s/DB/Web 应用等(依版本) | SSH(含 Web 终端) | 仅 SSH TCP 转发 |
| 客户端要求 | 无需专用客户端,原生工具直连 | 需安装 tsh 客户端 | 原生 ssh 客户端 | 需配置 ProxyJump |
| 用户-目标 1:1 授权 | 内建(角色绑定) | 内建 | 内建 | 通常无,拿跳板即入网 |
| 2FA | 内建 TOTP | 内建 | 以官方版本说明为准 | 需 PAM 插件扩展 |
| SSO | 内建 OIDC | 商业版提供 | 以官方版本说明为准 | 需 PAM 插件扩展 |
| 会话录制 | 全协议录制 + Web 回放 | 支持(命令级审计) | SSH 会话记录 | 目标侧 root 权限时不可信 |
| 浏览器内操作 | Web SSH/Web 桌面 | 有 | Web 终端 | 无 |
| 部署形态 | 单二进制零依赖 | 多组件集群 | 容器化部署 | 无新增组件 |
| 数据自持 | 自托管,数据全在自己手中 | 社区版自托管/商业版含 SaaS | 自托管 | 自托管 |
| 暴力破解防护 | 内建 IP 封锁 + 用户锁定 | 内建 | 以官方版本说明为准 | 需另配 fail2ban |
选型建议:
- 需要「SSH 之外的协议也统一收口」(内网 Web、MySQL/PostgreSQL、K8s API、VNC/RDP)且不想给每台办公终端装客户端——Warpgate 的单二进制多协议透明代理是最短路径;
- 团队已全面拥抱零信任体系、能接受 tsh 客户端并愿意为 SSO 等企业能力付费——Teleport 的生态与合规认证更完整;
- 需求集中在「大量 SSH 设备的统一接入与 Web 终端」(如边缘设备/IoT 场景)且运维栈已容器化——ShellHub 足够轻;
- 只是临时中转、无审计诉求——原生 ProxyJump 零成本,不必引入新组件。
社区活跃度量化参考:Warpgate GitHub 星数 8.2k(shields.io,2026-10-27),Release 节奏为持续小步迭代(v0.30.2 为当前稳定线),官方文档站覆盖安装、各协议目标接入、SSO/LDAP、集群、录制、备份等完整生命周期主题,文档完备度在同类自托管堡垒机项目中处于第一梯队。
八、参考链接
- 项目仓库:https://github.com/warp-tech/warpgate
- Releases(版本与二进制下载):https://github.com/warp-tech/warpgate/releases
- 官方文档站:https://warpgate.null.page/
- Getting started (binary):https://warpgate.null.page/getting-started/
- 配置 JSON Schema:https://github.com/warp-tech/warpgate/blob/main/config-schema.json
- 项目路线图:https://github.com/orgs/warp-tech/projects/1/views/2
以上外部链接与数据均于 2026-10-27 访问核实;版本号、星数等时效性信息以当日溯源记录为准。