JumpServer 开源堡垒机(PAM 平台)快速上手与组件架构指南

发布时间:2026/9/10 12:49:02
JumpServer 开源堡垒机(PAM 平台)快速上手与组件架构指南 JumpServer 开源堡垒机PAM 平台快速上手与组件架构指南【免费下载链接】jumpserverJumpServer is an open-source Privileged Access Management (PAM) platform that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser.项目地址: https://gitcode.com/GitHub_Trending/ju/jumpserverJumpServer 是开源的特权访问管理PAM平台通过 Web 浏览器为 DevOps 与 IT 团队提供对 SSH、RDP、Kubernetes、数据库与 RemoteApp 等端点的按需、安全访问。本文以仓库内的 readmes/README.en.md 为主线结合当前仓库源码系统讲解 JumpServer 的定位、快速部署、核心能力、组件架构与关键配置帮助读者在 10 分钟内完成安装并理解其整体运转方式。什么是 JumpServerJumpServer is an open-source Privileged Access Management (PAM) platform that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser.JumpServer 是一个开源的特权访问管理PAM平台即传统意义上的堡垒机。它把分散的服务器、网络设备、数据库、Kubernetes 集群和 Windows 远程应用统一收敛到一个入口让运维人员通过浏览器即可安全访问同时保留完整的审计与权限控制能力。从当前仓库的代码结构可以清晰地印证这一产品定位核心业务全部以 Django app 形式组织在 apps 目录下覆盖了特权访问管理的完整闭环assets资产管理主机、数据库、云主机、网络设备等与平台/协议定义accounts账号管理与账号自动化改密、推送、收集、校验、备份perms授权策略资产授权、应用授权、连接方式授权terminal连接会话管理、命令过滤、录像回放等终端相关能力audits登录日志、操作日志、命令记录等审计能力users 与 rbac用户体系与基于角色的访问控制acls登录控制、命令过滤、剪贴板、数据脱敏等安全策略tickets工单审批流程authentication包含 LDAP、OAuth2、OIDC、SAML2、CAS、Radius、Passkey、UKey 等丰富的认证后端。可以看出JumpServer 并非简单的 SSH 跳板而是一套完整的特权身份、授权、连接与审计管理平台。快速开始Quickstart环境要求按照官方说明准备一台干净的 Linux 服务器硬件要求如下64 位操作系统至少 4 核 CPU、8 GB 内存 4c8g一键安装在满足要求的服务器上执行官方一键安装脚本curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash该脚本会拉取最新 Release 版本并完成环境初始化、镜像拉取与服务编排。安装完成后在浏览器中访问http://your-jumpserver-ip/用户名admin密码ChangeMe注意默认密码ChangeMe仅用于首次登录正式使用前务必在控制台修改管理员密码。your-jumpserver-ip应替换为部署服务器的实际 IP 或域名。安装背后发生了什么结合仓库文件可以理解一键安装背后的服务形态项目提供了 Dockerfile基础镜像基于python:3.14-slim暴露8080HTTP与8088端口数据目录挂载于/opt/jumpserver/data启动入口为 entrypoint.shentrypoint.sh 默认执行python jms start all即以启动全部服务的方式拉起核心进程jms 是服务控制工具Python 实现支持start、stop、restart、status、upgrade_db、collect_static等动作服务范围包括all、web、task、ai。启动web服务时会自动执行prepare()依次完成数据库连通性检查60 次重试、migrate数据库结构、collectstatic静态文件收集、过期缓存清理、IP 库下载、内置 applet 安装与 OAuth2 Provider 初始化依赖管理使用 uv见 pyproject.toml核心技术栈包括 Django 5.2、Django REST Framework、Celery 5.6、Redis、Ansible/ansible-runner、Channels 等。也就是说quick_start.sh拉起的正是这套 Docker 化、jms统一管理进程的 JumpServer 核心。核心能力SSH / RDP / Kubernetes / Database / RemoteAppJumpServer 的一个关键特性是浏览器即可连接多种协议端点而协议类型在源码中有着清晰的枚举定义。以 apps/terminal/const.py 为例终端协议类型包括STSSH Terminal —— 通过 Web 终端Luna/KoKo访问 Linux/网络设备RTRDP Terminal —— 通过 Web 图形终端Lion访问 Windows 主机。在此基础上JumpServer 还覆盖了 KubernetesK8s、数据库Database通过 Web DB 组件 Chen 连接 MySQL、PostgreSQL 等与 RemoteAppWindows/Linux 远程应用。结合 apps/assets/const 下的类型定义host、database、device、web、cloud、custom 等分类可以推断资产平台体系从主机扩展到数据库、云资源与自定义平台为上述多种端点访问提供统一建模。这种协议连接器独立于核心的设计正是 JumpServer 组件化架构的体现详见下一节。组件架构多个关键组件共同构成功能框架JumpServer 由多个关键组件构成它们共同形成 JumpServer 的功能框架为用户提供运维管理与安全控制的综合能力。各组件职责如下表所示项目说明LinaJumpServer Web UI管理控制台前端LunaJumpServer Web Terminal浏览器终端前端KoKo字符协议连接器SSH 等文本协议Lion图形协议连接器RDP/VNC 等图形协议ChenWeb 数据库连接器浏览器访问数据库Tinker远程应用连接器WindowsRemoteAppPanda企业版远程应用连接器LinuxRazor企业版 RDP 代理连接器Magnus企业版数据库代理连接器Nec企业版 VNC 代理连接器Facelive企业版人脸识别组件其中Lina、Luna、KoKo、Lion、Chen 为开源组件其余为企业版EE组件。这种核心 连接器的拆分使得协议支持可扩展新增协议如数据库、VNC不需要改动核心只需接入对应连接器前后端分离Lina 负责控制台管理界面Luna 负责终端交互界面代理能力下沉企业版通过 Magnus、Razor 等代理连接器实现数据库/图形协议的专业代理。从本仓库jumpserver 核心的角度看上述组件通过 API、WebSocket 与认证机制与核心服务协作。例如核心侧通过BOOTSTRAP_TOKEN预共享 Token完成 KoKo、Guacamole 等组件的服务注册取代了旧的注册接受机制apps/terminal 中的connect_methods.py、session_lifecycle.py与backends目录则承载了会话生命周期与连接后端的核心逻辑。关键配置说明虽然 README 只提供了快速安装入口但深入部署时往往需要自定义配置。仓库根目录的 config_example.yml 是官方配置模板以下是核心参数配置项默认值说明SECRET_KEY无必填加密密钥生产环境必须改为随机字符串可用cat /dev/urandom \| tr -dc A-Za-z0-9 \| head -c 49;echo生成BOOTSTRAP_TOKEN无必填预共享 TokenKoKo/Guacamole 等组件用于注册服务账号DEBUGfalse开发环境开启后可看到完整错误堆栈生产环境必须关闭LOG_LEVELINFO可选 DEBUG/INFO/WARNING/ERROR/CRITICALSESSION_COOKIE_AGE3600浏览器 Session 过期时间秒默认 1 小时DB_ENGINEpostgresql数据库引擎支持 sqlite3、mysql、postgresql 等DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME127.0.0.1:5432数据库连接信息HTTP_BIND_HOST0.0.0.0HTTP 服务绑定地址HTTP_LISTEN_PORT8080HTTP 服务监听端口WS_LISTEN_PORT8070WebSocket 服务监听端口REDIS_HOST/REDIS_PORT127.0.0.1:6379Redis 配置作为 Celery 与 WebSocket 的 brokerVAULT_ENABLED/VAULT_BACKENDfalse / openbao是否启用 Vault 密钥存储默认后端为 OpenBaoSSH_CA_ENABLEDfalse是否启用 OpenBao SSH CA 签名OTP_ISSUER_NAMEJumpServerOTP/MFA 的签发者名称SECURITY_WATERMARK_ENABLEDfalse是否开启 Luna 水印FACE_RECOGNITION_ENABLEDfalse是否启用企业版人脸识别需先下载模型这些配置在运行时由 apps/jumpserver/conf.py 中的ConfigManager加载见 apps/jumpserver/const.py 的CONFIG ConfigManager.load_user_config()随后注入 Django 设置apps/jumpserver/settings/base.py。例如SECRET_KEY、BOOTSTRAP_TOKEN、DEBUG等直接映射为 Django settingsDOMAINS/SITE_URL会被解析为ALLOWED_HOSTS与CSRF_TRUSTED_ORIGINS确保外部域名可正常访问。针对大规模资产自动化场景config_example.yml 还提供了详细的 Ansible 超时调优说明资产自动化按每 80 个资产分批执行ANSIBLE_RUNNER_JOB_TIMEOUT单批硬超时默认建议 1800 秒、ANSIBLE_RUNNER_IDLE_TIMEOUT单批无输出超时默认建议 900 秒、ANSIBLE_AUTOMATION_TOTAL_TIMEOUT整个自动化任务总超时等参数可按单批 P95 耗时 × 批次数 × 1.3 余量的公式估算并建议万级资产改密任务分批串行执行。服务生命周期管理安装完成后可通过jms命令管理核心服务进程结合 jms 与 entrypoint.shpython jms start all # 启动全部服务web task ai python jms start web # 仅启动 web 服务会自动执行数据库迁移等准备步骤 python jms stop all # 停止全部服务 python jms restart all # 重启全部服务 python jms status # 查看服务状态 python jms upgrade_db # 仅执行数据库结构升级migrate python jms collect_static # 仅执行静态文件收集常用选项-d/--daemon以守护进程方式后台运行-w/--worker N指定 worker 数量也可通过环境变量CORE_WORKER控制-f/--force强制启动。在 Docker 部署形态下entrypoint.sh接收start all作为默认命令同时支持bash/sh进入容器 shell与sleep长驻调试等特殊动作并在退出时清理子进程以避免僵尸进程。贡献与许可证贡献欢迎提交 Pull Request 参与项目。贡献指南参见仓库根目录的 CONTRIBUTING.md。许可证Copyright (c) 2014-2025 FIT2CLOUD, All rights reserved。JumpServer 采用 GNU General Public License version 3GPLv3开源协议协议全文可查阅许可证文件 LICENSE。在 GPLv3 下软件按AS IS现状提供不附带任何明示或暗示的担保。小结本文围绕 readmes/README.en.md 展开从开源 PAM 平台堡垒机的定位出发依次覆盖了一键快速安装 4c8gLinux、admin/ChangeMe初始账号、SSH/RDP/K8s/数据库/RemoteApp 多协议访问能力、Lina/Luna/KoKo/Lion/Chen 等开源组件与 Tinker/Panda/Razor/Magnus/Nec/Facelive 等企业版组件的分工、核心配置参数与jms服务管理命令并结合 apps 源码与 config_example.yml 佐证了其实现细节。对运维团队而言JumpServer 提供了一条从资产、账号、授权到连接、审计的完整 PAM 落地路径对开发者而言其组件化架构与清晰的 Django 模块划分也极具参考价值。【免费下载链接】jumpserverJumpServer is an open-source Privileged Access Management (PAM) platform that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser.项目地址: https://gitcode.com/GitHub_Trending/ju/jumpserver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考