
引言:为什么企业需要堡垒机?
随着企业数字化转型的深入,IT基础设施规模不断扩大,服务器、数据库、网络设备等资产数量动辄成百上千台。运维人员通过 SSH、RDP、数据库客户端等方式直接连接服务器,缺乏统一的访问控制和操作审计,由此带来了严重的安全隐患:账号共享无法追溯、操作失误无法回滚、恶意行为缺乏证据。
堡垒机(Bastion Host)正是为解决这些问题而生的安全运维审计系统。它位于运维人员和目标资产之间,作为唯一的访问入口,对所有运维操作进行集中管理、权限控制和全程审计。JumpServer 作为国内最知名的开源堡垒机项目,由飞致云(FIT2CLOUD)主导开发,完全符合 4A 规范(认证、授权、审计、账号),并已通过等保三级认证,广泛应用于金融、政府、教育、医疗等各行业。
本文将详细介绍 JumpServer 4.x 版本的安装部署流程、关键配置、资产管理、安全加固及日常运维管理,帮助运维人员快速搭建一套完整的堡垒机系统。

JumpServer 核心功能与优势
什么是堡垒机
堡垒机是一种专门用于控制和管理运维人员对服务器、网络设备、数据库等 IT 资产访问的安全设备。所有运维操作必须通过堡垒机中转,堡垒机会记录下每一次登录、每一个命令、每一次文件传输,形成完整的操作审计日志。
JumpServer 是当前最活跃的开源堡垒机项目之一,在 GitHub 上拥有超过 29,000 颗星标。它采用分布式架构,支持高并发部署,完全基于浏览器操作,无需在客户端安装任何插件,极大降低了使用门槛。
JumpServer 的核心能力
- 多协议支持:支持 SSH(Linux/Unix/网络设备)、RDP(Windows)、数据库协议(MySQL/MariaDB/PostgreSQL/Oracle/SQLServer/ClickHouse/Redis/MongoDB)、Kubernetes、VMware vSphere 以及 Web 后台管理,几乎涵盖所有主流资产类型
- Web 终端:纯浏览器访问,免客户端、免插件,支持文件上传下载
- 操作审计:全程录像回放,支持 Linux/Windows 操作录像、数据库操作审计
- 账号管理:统一纳管资产账号,支持自动改密、密码轮换
- 多租户:支持组织和工作空间隔离,适合多云/多团队场景
- 多云纳管:支持阿里云、AWS、腾讯云、华为云等公有云资产自动同步
- 开放 API:提供完善的 RESTful API,可与企业 CMDB、工单系统等集成
安装部署指南
环境要求
JumpServer 4.x 采用 Docker 容器化部署,最小化硬件配置如下:4 核 CPU、8GB 内存、100GB 磁盘空间(建议 SSD),操作系统要求 Linux 内核 4.0 及以上,支持 x86_64 和 ARM64 架构。主流 Linux 发行版如 CentOS/RHEL 7+、Ubuntu 20.04+、Debian 11+ 以及国产操作系统(统信 UOS、麒麟等)均可运行。
软件依赖方面,JumpServer 需要 PostgreSQL 16+(或 MySQL 5.7+/MariaDB 10.6+)作为主数据库、Redis 6.0+ 作为缓存。生产环境建议使用外部数据库和 Redis,以利用现有基础设施并便于备份恢复。安装前需提前创建好数据库:
# PostgreSQL 创建数据库
CREATE DATABASE jumpserver WITH ENCODING='UTF8';
方式一:在线安装(联网环境)
如果你的服务器能够正常访问 GitHub 和 Docker Hub,在线安装是最简单快捷的方式。JumpServer 官方提供了一个一键安装脚本:
curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
该脚本会自动检测系统环境、安装 Docker 和 Docker Compose、拉取镜像并启动所有服务。全程约 5-10 分钟,取决于网络速度。
方式二:离线安装(国内生产环境推荐)
对于无法访问外网的服务器,或者希望完全控制安装过程的用户,推荐使用离线安装方式。首先从飞致云社区下载最新版本的离线包(jumpserver-ce-v4.10.x-x86_64.tar.gz),上传至服务器的 /opt 目录:
cd /opt
tar -xf jumpserver-ce-v4.10.16-x86_64.tar.gz
cd jumpserver-ce-v4.10.16-x86_64
# 执行安装
./jmsctl.sh install
# 启动服务
./jmsctl.sh start
安装过程会自动拉取所有必需组件。JumpServer 4.x 内置了 PostgreSQL、Redis、Core、Koko(SSH 代理)、Lion(RDP 代理)、Magnus(数据库代理)、Celery(任务调度)等组件,以 Docker 容器方式运行,互不干扰。
安装完成后,常用的管理命令如下:
- ./jmsctl.sh start — 启动所有服务
- ./jmsctl.sh stop — 停止服务
- ./jmsctl.sh down — 停止并清理容器
- ./jmsctl.sh upgrade — 升级版本
- ./jmsctl.sh backup_db — 备份数据库
- ./jmsctl.sh status — 查看运行状态
关键配置参数
JumpServer 的核心配置文件位于 /opt/jumpserver/config/config.txt,几乎所有运行时参数都在这里定义。以下是最需要关注的几个配置项:
- VOLUME_DIR:数据持久化目录,数据库文件、操作录像、日志均存储于此,建议指定独立的挂载盘
- SECRET_KEY 和 BOOTSTRAP_TOKEN:加密密钥和组件注册令牌,迁移或恢复时务必备份,否则无法解密已有数据
- DOCKER_SUBNET:Docker 容器网络段,如果与现有网络冲突可修改
- HTTP_PORT 和 HTTPS_PORT:对外服务端口,默认 80/443,如需修改直接在此处调整
- DOMAINS:信任域名列表,填写用户实际访问 JumpServer 的域名或 IP
- CLIENT_MAX_BODY_SIZE:文件上传大小限制,默认 4096m 已满足多数场景
如果你是国内用户连接 Docker Hub 较慢,可以在 config.txt 中设置 DOCKER_IMAGE_MIRROR=1 来启用华为云镜像加速,大幅缩短镜像拉取时间。
网络端口与防火墙配置
JumpServer 安装完成后需要开放以下关键端口:80(Web HTTP 访问)、443(Web HTTPS 访问,可选)、2222(SSH 客户端直连端口,Xshell/PuTTY 等工具连接)、3389(RDP 连接 Windows 资产)、33061-54320 等端口用于数据库客户端直连。在企业网络环境中,建议在网络层面限制 2222 和 3389 端口的来源 IP,仅允许运维人员的工作站地址访问。
以 CentOS/RHEL 系统为例,使用 firewall-cmd 开放端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --reload
首次登录与系统设置
安装启动完成后,在浏览器中输入 http://服务器IP 即可访问 JumpServer 登录页面。默认管理员账号为 admin,密码为 ChangeMe。首次登录后系统会强制要求修改管理员密码,请设置为安全强度足够的新密码。
登录后建议立即进行以下设置:
- 基本设置:进入系统设置 → 基本设置,填写当前站点 URL(即用户访问 JumpServer 的完整地址),否则邮件中的链接会错误地指向 localhost
- 邮件设置:配置 SMTP 服务器,用于密码找回、通知等邮件发送。注意端口 25 使用 SSL,端口 587 使用 TLS,不可同时勾选
- 时间设置:确保系统时区为 Asia/Shanghai,时间已同步
资产管理快速入门
创建节点与资产
进入资产管理 → 资产列表,在 Default 根节点下可按业务线创建子节点,例如「生产环境 SSH 服务器」「测试环境数据库」「办公网 Windows 主机」等。右键节点即可创建子节点或在该节点下创建资产。
创建资产时需填写:资产 IP 地址、选择资产平台(Linux/Windows 等)、归属节点、连接协议组(SSH/RDP 等)。关键一步是创建特权用户——特权用户是 JumpServer 用于连接测试、推送系统用户和批量改密的管理账号,通常为各资产的 root 或 Administrator。
对于 Windows 资产,需要先在 Windows 上安装 OpenSSH Server,JumpServer 才能通过 SSH 协议管理。数据库资产则创建为「数据库应用」,选择对应的数据库类型即可。
授权管理
资产纳管后,进入权限管理 → 资产授权,创建授权规则。授权包含四个维度:用户/用户组(谁来访问)、资产/节点(访问什么)、账号(使用哪个凭据连接)、动作(连接/上传/下载/全部)。创建授权后,用户登录 JumpServer 就能在 Web 终端中看到被授权的资产列表。
JumpServer 的授权非常灵活,支持节点级别的批量授权——如果将授权绑定到节点,则该节点下新增的资产会自动继承授权,无需逐一配置。
安全配置与漏洞修复
作为安全运维的核心节点,JumpServer 自身的安全性至关重要。2025 年社区披露了两个高危漏洞 CVE-2025-62712(越权获取超级连接令牌)和 CVE-2025-62795(LDAP 测试功能绕过),影响 JumpServer V3 <= v3.10.20 和 V4 <= v4.10.11 版本。官方在 v4.10.12 及后续版本中已修复。
除了及时升级,日常安全运营还需注意以下几点:
- 升级到 LTS 版本:始终使用最新的 LTS 稳定版,避免运行 EOL 版本
- 端口限制:在防火墙层面仅允许可信 IP 访问 SSH(22)和 JumpServer 管理端口(2222)
- 启用 HTTPS:生产环境务必配置 SSL 证书,启用 HTTPS 加密
- 定期改密:利用 JumpServer 的自动改密功能定期轮换资产密码
- 审计日志:定期审查操作录像和日志,及时发现异常行为
日常运维命令
JumpServer 运行过程中,运维人员最常用的是查看服务状态和日志。在 JumpServer 安装目录下,jmsctl.sh 提供了简洁的管理接口。如果需要排查问题,通过 docker logs 命令查看各组件日志更为直接:
# 查看核心服务日志
docker logs jms_core -f
# 查看 SSH 代理日志
docker logs jms_koko -f
# 查看 RDP 代理日志
docker logs jms_lion -f
# 清理不再使用的镜像
docker image prune -f
当需要独立重启某个组件(如更新配置后),可使用 docker-compose 强制重建:
docker-compose -f /opt/jumpserver/docker-compose.yml up -d --force-recreate core
数据备份与恢复
JumpServer 的数据主要包括两部分:数据库(用户信息、资产配置、授权策略等结构化数据)和静态文件(操作录像、日志文件)。备份应同时覆盖这两部分。
数据库备份使用 JumpServer 自带的命令即可:
./jmsctl.sh backup_db
备份文件保存在 /data/jumpserver/backups/ 目录下,文件名格式为 jumpserver-v4.10.x-日期时间.dump。
静态文件备份建议使用 rsync 同步到备份服务器:
rsync -avh /data/jumpserver/core/data/media/replay/ /backup/jumpserver/replay_backup/
恢复时注意:如果跨机器恢复数据库,源环境的 SECRET_KEY 和 BOOTSTRAP_TOKEN 必须与备份时的值一致,否则恢复后的数据无法解密。这是最常见的数据恢复失败原因。
常见问题 FAQ
问:资产连接状态显示为黄色或红色怎么办?
答:检查特权用户的用户名和密码是否正确,确认 JumpServer 主机到目标资产的 SSH 连接是否畅通(使用 ping 和 telnet 测试)。同时确认目标资产上 Python 版本不低于 2.6。
问:Windows 资产无法执行自动化任务(如自动改密)?
答:Windows 资产需先安装 OpenSSH Server 并配置为自启动。JumpServer 通过 SSH 协议管理 Linux 和 Windows 资产,Windows 上没有 SSH 则无法执行自动化操作。
问:数据库客户端无法连接?
答:确认 config.txt 中数据库相关端口的配置,检查防火墙是否已开放对应端口(MySQL 33061、PostgreSQL 54320、Redis 63790 等),以及数据库资产是否已正确创建和授权。
问:操作录像无法播放怎么办?
答:检查录像存储目录是否存在,跨环境恢复时确保 SECRET_KEY 一致。
问:邮件发送失败?
答:确认 SMTP 用户名密码正确,检查端口配置:465 端口使用 SSL,587 端口使用 TLS,两个选项不可同时勾选。部分邮箱需开启 SMTP 服务并生成专用授权码。
总结
JumpServer 作为国内领先的开源堡垒机项目,以其完善的功能、简洁的部署方式和活跃的社区生态,已经成为众多企业实现运维安全审计的首选方案。从本文的部署步骤可以看出,JumpServer 4.x 在安装配置上极为便捷——无论是联网环境的一键安装,还是离线环境的包部署,都能在短时间内快速上线。
资产管理、授权控制、操作审计、自动改密等核心功能覆盖了企业 4A 规范的各项要求,而分布式架构设计则确保了从几十台到数万台资产的扩展能力。无论是中小企业还是大型集团,JumpServer 都提供了与之匹配的解决方案。
欢迎访问 IT峰哥软件库 获取更多企业级运维工具资源。如果你正在规划或升级企业的运维安全体系,JumpServer 是一个非常值得投入学习和部署的开源项目。