命令行工具
jumpserver/jumpserver avatar
jumpserver/jumpserver

JumpServer:用浏览器统一接管 SSH、RDP、K8s 和数据库的 PAM 平台

JumpServer 是一个开源特权访问管理 (PAM) 平台,可通过 Web 浏览器为开发运营和 IT 团队提供对 SSH、RDP、Kubernetes、数据库和 RemoteApp 端点的按需安全访问。

31,530 个 Star5,789 个 ForkPythonGPL-3.0

秒懂

它是什么?
JumpServer 是一个开源的特权访问管理(PAM)平台,面向 DevOps 和 IT 团队,通过 Web 浏览器提供对 SSH、RDP、Kubernetes、数据库及 RemoteApp 的按需安全访问。本文基于其公开资料,梳理其组件架构、快速部署方式、适用边界与替代方案。
适合谁用?
JumpServer 适合需要统一入口管理多种协议(SSH、RDP、K8s、数据库)的中大型团队,尤其是那些希望用浏览器替代本地客户端、并需要审计和权限控制的场景。不适合追求极简部署的小团队,因为其组件众多,至少需要 4 核 8G 内存的 Linux 服务器,且部分高级连接器(如 Razor、Magnus、Nec)标注为 EE 版本,意味着这些功能可能不在社区版中。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是运维入口割裂的问题

JumpServer 要解决的问题很具体:团队要访问服务器、数据库、Kubernetes 集群和 Windows 远程桌面,通常需要多个客户端工具,每个工具都有自己的认证方式和审计记录。JumpServer 把这些入口统一到一个 Web 界面里,用户不用安装本地 SSH 客户端或 RDP 客户端,浏览器就能完成连接。它定位为 PAM 平台,也就是特权访问管理,核心是控制谁能用什么身份访问哪些资源,并留下可追溯的会话记录。适合 DevOps 和 IT 运维团队,尤其是那些需要给外部协作人员或不同部门开放临时权限的场景。

组件拆得很细,前端、终端、协议连接器各司其职

从仓库的 Components 表格可以看出,JumpServer 不是一个单体应用,而是由多个独立项目拼成的框架。Lina 是 Web UI,Luna 是 Web 终端,KoKo 负责字符协议(SSH 类)连接,Lion 处理图形协议(RDP 类),Chen 提供 Web 数据库访问,Client 是桌面客户端,Tinker 是 Windows 下的 RemoteApp 连接器。注意,表格里还有 Razor、Magnus、Nec、Panda 和 Facelive,这些标注为 EE,即企业版组件,分别对应 RDP 代理、数据库代理、VNC 代理、Linux RemoteApp 和人脸识别。这意味着社区版的核心是 KoKo 和 Lion 这类基础连接器,而更高级的代理功能可能被放在商业版本里。这种拆分让每个组件可以独立迭代,但也让部署和排障变得更复杂。

快速启动只需要一条命令,但硬件门槛不低

README 提供了非常直接的快速开始方式:准备一台 64 位 Linux 服务器,要求至少 4 核 8G 内存,然后执行 curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash。脚本会下载最新 release 并自动配置。完成后浏览器访问 http://your-jumpserver-ip/,默认账号 admin,密码 ChangeMe。这个流程对想快速体验的人来说很友好,但 4c8g 的最低配置意味着它不适合跑在树莓派或 1G 内存的 VPS 上。而且脚本直接管道给 bash 执行,虽然方便,但在生产环境里你应该先下载脚本检查内容再运行,这是基本的安全习惯。

浏览器访问是卖点,但也可能是限制

JumpServer 的核心体验是纯 Web 访问,用户不需要安装任何客户端。对于 SSH 和数据库这类字符型协议,浏览器终端足够用。但对于 RDP 图形会话,Web 体验取决于 Lion 和 Razor 这类连接器的实现质量,尤其是延迟和剪贴板同步。文档没有给出性能数据,所以无法判断在弱网环境下 RDP 是否流畅。另一个限制是,如果企业网络策略禁止浏览器运行 WebSocket 或需要频繁传输大文件,Web 终端可能不如原生 SSH 工具顺手。此外,RemoteApp 功能依赖 Tinker(Windows)和 Panda(Linux EE),这意味着要完整使用 RemoteApp,你可能需要 Windows 服务器或购买企业版。

许可证是 GPL-3.0,组件分社区版和企业版

JumpServer 主仓库采用 GPL-3.0 许可,版权归 FIT2CLOUD 所有。这意味着你可以自由使用、修改和分发,但如果修改后对外分发,必须开源你的修改。对于内部使用,GPL 的约束相对宽松,但如果你的公司有对外提供基于 JumpServer 的服务,就需要谨慎。更关键的是,仓库中多个组件标注为 EE,即企业版,这些不在 GPL 覆盖的社区版范围内。这意味着你从主仓库部署的可能是核心框架,但某些连接器(如 Razor、Magnus)需要单独获取企业版许可。采用前应该明确你的需求是否落在 EE 组件上,否则可能部署到一半发现功能缺失。

替代方案:轻量 SSH 审计选 Teleport,纯 Web RDP 选 Guacamole

如果只需要 SSH 会话管理和审计,Teleport 是更轻量的选择,它由 Go 编写,单二进制部署,支持短时证书和 Kubernetes 原生集成,但它的 Web 界面不如 JumpServer 那样覆盖数据库和 RemoteApp。如果重点是 RDP 的 Web 化,Apache Guacamole 是另一个方向,它是一个无客户端远程桌面网关,通过 HTML5 提供 RDP、VNC 和 SSH,但 Guacamole 本身不提供完整的 PAM 功能,比如复杂的权限审批流和资产台账,需要你自己开发或集成。JumpServer 的差异在于它把协议支持、权限控制、审计和 Web 界面打包成一个完整产品,而替代方案通常只覆盖其中一部分。

维护成本:多组件意味着升级和排障更复杂

由于 JumpServer 由多个独立仓库组成,升级时你需要关注每个组件的版本兼容性。README 没有提供详细的升级指南,但从 release 列表看,维护者同时维护 v3.10 和 v4.10 两个 LTS 分支,说明版本策略是长期支持。这带来的维护成本是:你需要定期跟进每个组件的 release,尤其是安全更新。另外,数据库和 Redis 是必需依赖,但 README 没有给出具体的配置示例,实际部署时你可能需要参考官方文档或社区文章。如果你没有专职运维人员,建议使用官方提供的 Docker 镜像或一键脚本,避免手动编译每个组件。

编辑结论

JumpServer 适合需要统一入口管理多种协议(SSH、RDP、K8s、数据库)的中大型团队,尤其是那些希望用浏览器替代本地客户端、并需要审计和权限控制的场景。不适合追求极简部署的小团队,因为其组件众多,至少需要 4 核 8G 内存的 Linux 服务器,且部分高级连接器(如 Razor、Magnus、Nec)标注为 EE 版本,意味着这些功能可能不在社区版中。采用前应先验证两件事:一是确认你需要的数据库代理或 RDP 代理是否属于 EE 组件,二是检查 GPL-3.0 许可对你内部二次开发的约束。若只需要 SSH 审计,可选择更轻量的方案如 Teleport 或 Apache Guacamole,但它们在多协议统一管理上不如 JumpServer 全面。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记