
warpgate v0.29.0-beta.1
全透明的 SSH、HTTPS、Kubernetes、数据库及 RDP/VNC 堡垒机/PAM,无需额外客户端软件
Warpgate 是一个智能且完全透明的 SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP 和 VNC 堡垒主机,不需要客户端应用或 SSH 包装器。
- 将其部署在您的 DMZ 中,添加用户账户,并轻松地将他们分配到网络内的特定主机和 URL。
- Warpgate 将记录每个会话,供您通过内置的管理 Web UI(实时)查看和稍后回放。
- 内置基于浏览器的 SSH、RDP 和 VNC 访问;原生客户端继续正常工作。
- 不是跳板主机——以对客户端完全透明的方式将连接直接转发到目标。
- 原生 2FA 和 SSO 支持(TOTP 和 OpenID Connect)
- 内置暴力破解防护,支持 IP 封禁和用户锁定
- 单一二进制文件,无依赖。
- 使用 100% 安全的 Rust 编写。
支持方:
快速入门与下载
- 参阅 快速入门 文档页面(或 Docker 上的快速入门)。
- 发布版 / 测试版二进制文件
- 每日构建
文档
完整文档可在 warpgate.null.page 获取,包括:
Warpgate 与跳板主机 / VPN / Teleport 有何不同?
| Warpgate | SSH 跳板主机 | VPN | Teleport |
|---|---|---|---|
| ✅ 用户与服务之间精确的 1:1 分配 | (通常)可完全访问跳板主机后面的网络 | (通常)可完全访问网络 | ✅ 用户与服务之间精确的 1:1 分配 |
| ✅ 无需自定义客户端 | 需要跳板主机配置 | ✅ 无需自定义客户端 | 需要自定义客户端 |
| ✅ 开箱即用的 2FA | 🟡 可通过额外的 PAM 插件实现 2FA | 🟡 取决于提供商 | ✅ 开箱即用的 2FA |
| ✅ 开箱即用的 SSO | 🟡 可通过额外的 PAM 插件实现 SSO | 🟡 取决于提供商 | 付费 |
| ✅ 命令级审计 | 🟡 跳板主机上的连接级审计,如果授予 root 权限,则无法在目标上进行安全审计 | 如果授予 root 权限,则无法在目标上进行安全审计 | ✅ 命令级审计 |
| ✅ 完整会话录制 | 如果授予 root 权限,则无法在目标上进行安全录制 | 如果授予 root 权限,则无法在目标上进行安全录制 | ✅ 完整会话录制 |
| ✅ 非交互式连接 | 🟡 如果客户端原生支持跳板主机,则可以进行非交互式连接 | ✅ 非交互式连接 | 非交互式连接需要使用 SSH 客户端包装器或运行隧道 |
| ✅ 自托管,您拥有数据 | ✅ 自托管,您拥有数据 | 🟡 取决于提供商 | SaaS |
| ✅ 内置暴力破解防护 | 🟡 需要设置 fail2ban | 🟡 取决于提供商 | ✅ 内置暴力破解防护 |
|
|
|
报告安全问题
请使用 GitHub 的漏洞报告系统。
项目状态
Warpgate 正在企业环境中被积极使用。
接下来计划和工作中的内容在公开的路线图上跟踪。
工作原理
Warpgate 是您部署在堡垒/DMZ 主机上的服务,它将接受 SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP 和 VNC 连接,并提供(可选的)Web 管理 UI。
运行 warpgate setup 以交互方式生成配置文件,包括端口绑定。详情请参阅快速入门。
它接收带有特定格式凭据的连接,在本地对用户进行身份验证,自行连接到目标,然后将双方连接在一起,同时(可选地)录制会话。
通过 HTTPS 连接时,Warpgate 会呈现可用目标的选择列表,然后将会话中的所有流量代理到所选目标。您可以随时在目标之间切换。
您可以通过管理 UI 管理目标和用户列表并将它们相互分配,会话历史存储在 SQLite 数据库中(默认:/var/lib/warpgate)。
您还可以使用管理 Web 界面查看实时会话列表、查看会话录制、日志等。
AI 透明度声明
2025 年底,本项目开始接受 AI 辅助贡献。贡献者必须披露 AI 的使用情况。我相信,无论是否使用 AI 辅助,只要对所有 PR 应用相同的高质量标准,就不需要在质量或安全性上做出任何牺牲。
由于 AI 介于无脑跟风者和自动补全用户之间,我相信对其使用保持透明有助于确立并限制 AI 在本项目中的位置。
本项目的架构和安全决策 100% 由人类做出。
贡献 / 从源码构建
- 您需要 Rust、NodeJS 和 NPM
- 克隆仓库
- 使用 Just 运行任务 - 安装它:
cargo install just - 安装管理 UI 依赖:
just npm install - 构建前端:
just npm run build - 构建 Warpgate:
cargo build(可选--release)
二进制文件位于 target/{debug|release}。
技术栈
- Rust 🦀
- HTTP:
poem-web - 数据库:通过
sea-orm+sqlx使用 SQLite - SSH:
russh
- HTTP:
- Typescript
- Svelte 5
- Bootstrap
后端 API
- Warpgate 面向管理员和用户的 API 使用自动生成的 OpenAPI 模式和 SDK。在更改查询/响应结构后更新 SDK,请运行
just openapi-all。
贡献者 ✨
感谢这些优秀的人(表情符号键):
本项目遵循 all-contributors 规范。欢迎任何形式的贡献!































