Rocky Linux 9 搭建 JumpServer 4 堡垒机详细实战教程 2026

Rocky Linux 9 搭建 JumpServer 4.10 堡垒机实战教程,涵盖系统初始化、离线安装、jmsctl 配置、HTTPS、资产账号授权、命令与录像审计、备份升级和故障排查。

📞 IT 峰哥团队 · 企业信息化落地服务

IT 峰哥深耕企业 IT 基础设施领域多年,专注为各类型企业提供网络安全规划、设备选型、上网行为管理、超融合部署、文档加密、考勤门禁、视频监控等信息化项目整包落地服务。从方案设计、设备选型、上门实施到后期运维,全程跟进。

承接规模:小微企业 / 成长型企业 / 中大型企业,均提供定制化方案
服务范围:防火墙、上网行为、AP+AC、域控、NAS、超融合、文档加密、人脸考勤、视频监控、机房动环等
合作流程:需求沟通 → 方案设计 → 设备选型 → 落地实施 → 持续运维

📱 17712677007(微信同号)

📞 24 小时全天候响应 · 紧急项目优先安排

Rocky Linux 9 搭建 JumpServer 4 堡垒机详细教程

企业服务器数量从几台增长到几十台以后,直接把 Linux root 密码、Windows 管理员密码和数据库账号分发给运维人员,会迅速带来账号共享、权限失控、离职交接困难和操作无法追溯等问题。JumpServer 是国内使用广泛的开源堡垒机与运维安全审计平台,能够把人员、资产、账号、授权和会话审计集中到一个入口,实现身份认证、访问控制、操作审计和账号管理。

本文聚焦一个具体场景:在 Rocky Linux 9 上部署 JumpServer 4.x 单机版,并从一台干净服务器开始,完成系统初始化、安装包准备、jmsctl 部署、端口与 HTTPS 规划、首次登录、Linux 和 Windows 资产纳管、资产授权、命令与录像审计、备份升级及常见故障排查。本文不追求把所有架构都塞进一篇,而是给出一套中小规模生产环境可以照着落地的完整流程。

一、JumpServer 架构和本次实战目标

JumpServer 并不是一台简单的 Web SSH 服务器。它由核心 API、Web 前端、SSH 终端、RDP 组件、数据库代理、任务调度、数据库、Redis 和反向代理等组件共同组成。官方单机安装包通过容器编排把这些组件部署在同一台 Rocky Linux 9 主机上,管理员主要使用 jmsctl.sh 完成安装、启动、停止、升级、备份和故障查看。

组件或能力主要作用本文是否配置
Core用户、资产、账号、权限、审计等核心 API
Web管理控制台与用户工作台
KokoSSH、Telnet 等字符协议访问
LionWindows RDP 与图形会话
Magnus数据库客户端代理入口按需
MySQL/PostgreSQL 与 Redis业务数据和缓存单机内置
录像与审计日志会话回放、命令检索、追责

本文演示环境使用 JumpServer 社区版 4.10 LTS 分支。写作时 GitHub Latest Release 显示为 v4.10.17,但版本会持续更新,正式安装时应从官方发布页读取最新安全版本,不能永久照抄文章里的小版本号。尤其生产环境要关注安全公告,历史上低版本出现过需要升级修复的安全漏洞。

二、Rocky Linux 9 服务器规划与安装前检查

JumpServer 单机部署适合实验室、中小企业和并发量不高的生产环境。最低资源不代表推荐资源,数据库、Redis、会话录像和多个接入组件同时运行时会消耗明显内存与磁盘。建议从 4 核 CPU、8GB 内存和 100GB SSD 起步;如果需要纳管大量 Windows 资产、长时间保存录像或多人并发,建议使用 8 核、16GB 内存和 200GB 以上磁盘。

项目演示值生产建议
操作系统Rocky Linux 9 x86_64 Minimal安装最新安全更新
主机名jumpserver01.example.com使用可解析 FQDN
IP 地址192.168.10.50/24固定地址,禁止 DHCP 漂移
CPU / 内存4 核 / 8GB按并发和资产规模上调
系统盘100GB录像目录最好独立大盘
访问域名jms.example.com配置企业有效 HTTPS 证书
数据目录/data/jumpserver独立挂载并纳入备份

先以 root 或拥有 sudo 权限的账号登录 Rocky Linux 9,检查系统版本、CPU 架构、内存、磁盘、时间和 DNS:

cat /etc/os-release
uname -m
nproc
free -h
df -hT
timedatectl
hostnamectl
getent hosts github.com
curl -I --max-time 10 https://github.com

设置主机名与 Asia/Shanghai 时区,并启用 chronyd。堡垒机的审计日志必须有准确时间,否则发生安全事件时无法建立可靠时间线。

hostnamectl set-hostname jumpserver01.example.com
timedatectl set-timezone Asia/Shanghai
systemctl enable --now chronyd
chronyc tracking

更新系统并安装常用工具:

dnf update -y
dnf install -y curl wget tar gzip unzip vim git rsync chrony bind-utils lsof

如果这是远程生产服务器,更新内核后不要在没有控制台和维护窗口的情况下贸然重启。先确认网络、SSH、公网或离线安装包来源都可用,再进入安装阶段。

三、确认 SELinux、firewalld、端口和网络边界

很多教程为了省事直接关闭 SELinux 和 firewalld,但生产堡垒机恰恰不应该裸奔。正确思路是先记录当前安全状态,按照实际访问方式开放最少端口,并在测试环境验证容器卷挂载和反向代理。若官方当前安装文档对 SELinux 有明确要求,以对应版本说明为准;遇到权限问题应优先查审计日志,而不是永久 setenforce 0。

getenforce
sestatus
systemctl status firewalld --no-pager
ss -lntup
firewall-cmd --get-active-zones

对于最常见的 Web 管理和 SSH 客户端接入,通常需要考虑 80、443、2222 等端口。22 是 Rocky Linux 本机运维 SSH,不应对整个互联网开放。RDP、数据库代理和 VNC 端口只有实际使用对应能力时才放行,而且优先限制到管理网段或 VPN 网段。

端口用途推荐暴露范围
22/TCPRocky Linux 主机管理仅管理网或 VPN
80/TCPHTTP 或跳转 HTTPS按访问范围
443/TCPWeb HTTPS企业用户网段或公网受控入口
2222/TCPSSH 客户端连接 JumpServer管理网或 VPN
3389/TCPRDP 相关接入仅有需求时开放
33061 等数据库客户端代理仅数据库管理员网段

示例只开放 Web 和 SSH Client 端口:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
firewall-cmd --list-all

云服务器还要同步配置安全组。操作系统防火墙已开放并不代表云安全组放行,反过来云安全组开放也不代表 firewalld 允许。部署前还应检查 80、443、2222 是否已被 Nginx、宝塔面板或其他服务占用。

四、获取 JumpServer 4.10 安装包并校验

生产环境推荐使用官方发布的社区版离线包,原因是安装内容可控、升级容易留档,也避免在线安装过程中因 GitHub 或镜像网络波动中断。先访问 JumpServer 官方文档、飞致云下载页或 GitHub Release,确认当前最新 LTS 安全版本和支持架构。本文以 v4.10.17、x86_64 为示例,实际文件名以官方 Release Assets 为准。

cd /opt
# 示例:将官方下载的离线包上传到 /opt
ls -lh jumpserver-ce-v4.10.17-x86_64.tar.gz
sha256sum jumpserver-ce-v4.10.17-x86_64.tar.gz

SHA256 必须与发布方提供的校验信息一致。不要从不明网盘或陌生镜像直接下载安装脚本,因为堡垒机掌握企业大量高权限凭据,一旦安装包被篡改,后果比普通应用服务器更严重。

解压安装包并进入版本目录:

tar -xf jumpserver-ce-v4.10.17-x86_64.tar.gz
cd jumpserver-ce-v4.10.17-x86_64
ls -la
chmod +x jmsctl.sh
./jmsctl.sh -h

如果官方发布页的包名或目录结构发生变化,以该版本 README 和官方安装文档为准。不要为了让命令“看起来能跑”而自行猜测下载 URL。

五、运行 jmsctl 安装并检查核心配置

在安装目录运行交互式安装:

cd /opt/jumpserver-ce-v4.10.17-x86_64
./jmsctl.sh install

安装程序会检查环境并询问数据目录、数据库、Redis、服务端口和访问配置。单机实战可选择内置数据库与 Redis,数据目录建议设置为 /data/jumpserver。如果企业已有高可用 PostgreSQL、MySQL 或 Redis,必须先按官方支持矩阵核对版本、字符集、网络和备份方案,不能把外部组件参数凭经验乱填。

安装完成后,核心配置通常位于安装目录的 config/config.txt。重点核对以下项目:

cd /opt/jumpserver-ce-v4.10.17-x86_64
sed -n '1,220p' config/config.txt
配置项含义注意事项
VOLUME_DIR持久化数据目录必须备份,容量要足够
SECRET_KEY敏感数据加密密钥严禁泄露,迁移恢复必须一致
BOOTSTRAP_TOKEN组件注册令牌严禁泄露
HTTP_PORT / HTTPS_PORT对外 Web 端口避免端口冲突
DOMAINS可信访问域名填写真实域名和端口
DOCKER_SUBNET容器网络不能与办公网、VPN、资产网冲突
TZ时区建议 Asia/Shanghai

SECRET_KEY 和 BOOTSTRAP_TOKEN 是恢复的生命线。应该把 config.txt 加密备份到堡垒机之外,并限制只有少数管理员可以读取。文章、工单、聊天记录和截图中都不要出现真实密钥。

六、启动 JumpServer 并完成安装后验证

./jmsctl.sh start
./jmsctl.sh status

首次启动需要等待数据库初始化和各组件注册。不要只看到命令返回成功就认为部署完成,应从进程、监听端口、容器状态、日志和 HTTP 五个角度验证:

ss -lntup
curl -I http://127.0.0.1
curl -I http://服务器IP
./jmsctl.sh status
docker ps --format 'table {{.Names}}t{{.Status}}t{{.Ports}}'

如果某个组件反复重启,使用 jmsctl 提供的日志命令或 docker logs 定位。例如:

docker logs --tail 200 jms_core
docker logs --tail 200 jms_koko
docker logs --tail 200 jms_lion

容器名称可能随版本和编排方式变化,应先用 docker ps 查真实名称。重点关注数据库连接失败、Redis 认证失败、磁盘权限、端口占用、容器网段冲突和组件注册失败。

七、首次登录与 HTTPS 安全配置

浏览器访问 http://服务器IP 或已配置域名。不同 JumpServer 版本的初始化账号和密码策略可能调整,必须以安装完成时终端提示及官方当前文档为准。若安装包提示默认管理员账号,应首次登录立即修改强密码,并启用 MFA;不要长期保留公开教程中流传的默认凭据。

正式上线建议使用 jms.example.com 之类的域名和有效 HTTPS 证书。TLS 可以由 JumpServer 自带反向代理终止,也可以在前置 Nginx、负载均衡器或防火墙上终止。无论采用哪种方式,都要正确传递 Host、X-Forwarded-Proto 和客户端地址,并把 DOMAINS、站点 URL 配成用户实际访问地址。

生产安全基线至少包括:

  • 修改管理员密码,启用多因素认证和登录失败限制。
  • 禁止把管理后台直接暴露给全网,优先走 VPN、零信任或固定管理网段。
  • 22、2222 和数据库代理端口按来源 IP 限制。
  • 配置企业 HTTPS 证书,禁止长期明文 HTTP 登录。
  • 为审计录像和数据库设置异机备份,不与系统盘共存。
  • 关注 JumpServer 安全公告,及时升级到官方安全版本。

八、纳管第一台 Rocky Linux 资产

JumpServer 的正确配置顺序是“用户和用户组 → 资产节点 → 资产 → 账号 → 资产授权 → 连接测试”。不要一开始就把所有服务器和 root 密码批量导入。先选择一台非生产 Rocky Linux 测试机,验证网络、账号和审计链路。

1. 创建资产节点

进入资产管理,在根节点下创建“Linux-测试”“Linux-生产”“Windows-生产”“网络设备”等节点。节点不是简单目录,它会参与批量授权,因此生产与测试、服务器与网络设备必须分开。

2. 创建主机资产

新增 Linux 主机时填写名称、IP 或域名、平台、节点和 SSH 协议端口。JumpServer 主机必须能访问目标资产的 SSH 端口:

ping -c 2 192.168.10.61
nc -vz 192.168.10.61 22
ssh -o ConnectTimeout=5 ops@192.168.10.61

网络不通时,在 Web 界面重复点“测试”没有意义。应检查目标主机 sshd、路由、防火墙、安全组和访问控制列表。

3. 创建资产账号

建议在目标 Linux 主机建立专用运维账号,不要默认把 root 作为所有人的登录账号。可根据工作职责分配 sudo 命令,并由 JumpServer 保存或托管凭据。高权限账号应设置审批、定期改密和更严格审计。

# 在被管理的 Rocky Linux 资产上执行示例
useradd ops
passwd ops
usermod -aG wheel ops
id ops

生产环境不要简单授予 wheel 的全部 sudo 权限,应在 /etc/sudoers.d/ 中按岗位定义允许命令,并使用 visudo -cf 验证语法。

九、纳管 Windows 资产和数据库资产

Windows 资产通常通过 RDP 使用 Lion 组件访问。添加资产前要确认 JumpServer 到目标 Windows 的 3389 网络连通、远程桌面已启用、账号允许远程登录,并且系统授权符合 Microsoft 许可要求。

# 在 JumpServer Rocky Linux 主机测试网络
nc -vz 192.168.10.71 3389

如果需要通过自动化功能管理 Windows 账号,可能还需按当前官方文档配置 OpenSSH 或相关管理协议。能 RDP 登录不等于自动化改密、账号发现和命令任务都可用,这些能力需要分别验证。

数据库资产可通过 Magnus 等组件代理 MySQL、PostgreSQL、MariaDB、Redis、Oracle 等协议。不要把生产数据库端口开放到公网,只需要允许 JumpServer 组件所在网络访问数据库。数据库授权应遵循只读、开发、运维、DBA 分级,并验证 SQL 审计和高危语句控制。

十、创建用户、资产授权和最小权限模型

堡垒机最核心的不是“能连服务器”,而是让正确的人在正确时间,以正确账号访问正确资产,并执行被允许的动作。推荐按部门和岗位创建用户组,例如“系统运维组”“数据库管理员组”“外包维护组”,不要给每个人单独堆大量授权规则。

创建资产授权时至少确认以下字段:

授权维度示例风险控制
用户或用户组系统运维组离职时移出组即可回收
资产或节点Linux-生产生产与测试分开
账号ops、只读账号避免默认全选 root
动作连接、上传、下载文件传输按需开启
有效期项目开始至结束外包权限自动过期
审批生产高危资产审批事前控制

授权完成后,使用普通测试用户登录用户工作台,确认只看得到被授权资产,不能看到管理控制台和未授权节点。再连接测试 Linux 与 Windows,确认会话建立、上传下载限制和命令策略符合预期。

十一、命令过滤、录像审计与告警验证

一套堡垒机是否真正落地,要看审计是否可用。测试用户连接 Rocky Linux 资产,执行 hostname、whoami、ip addr 等无破坏命令后退出,再由审计管理员进入会话审计查看登录时间、用户、资产、账号、源 IP、命令记录和录像回放。

命令过滤策略应从“告警”开始,经过测试后再对高风险命令设置拒绝。正则表达式或命令匹配过宽可能阻断正常业务,过窄则容易被绕过。rm、mkfs、shutdown、用户管理、网络和防火墙修改等高危操作,应结合审批、最小 sudo 权限和告警,而不是只靠一条关键字黑名单。

建议完成以下验收:

  • SSH 字符会话能检索每条命令及执行时间。
  • Windows RDP 会话可以回放,画面完整且时间正确。
  • 文件上传和下载有审计记录。
  • 高危命令策略能产生告警或阻断测试命令。
  • 审计员无法修改资产密码,系统管理员不能删除审计证据。
  • 录像目录容量和保留周期符合企业制度。

十二、备份、升级和日常运维

JumpServer 至少要备份数据库、config.txt、SECRET_KEY、BOOTSTRAP_TOKEN 以及需要长期保留的录像文件。只备份数据库但丢失 SECRET_KEY,可能导致原有加密凭据无法正常使用;只备份配置但没有数据库,也无法恢复用户、资产和授权关系。

cd /opt/jumpserver-ce-v4.10.17-x86_64
./jmsctl.sh backup_db
find /data/jumpserver/backups -maxdepth 1 -type f -ls
rsync -aH --delete /data/jumpserver/backups/ /backup/jumpserver/database/
rsync -aH /data/jumpserver/core/data/media/replay/ /backup/jumpserver/replay/

备份目录和录像实际路径可能随版本及 VOLUME_DIR 变化,必须通过 config.txt 和官方文档核实。备份完成后还要定期做恢复演练,不能只看任务显示“成功”。

升级前先阅读目标版本 Release Notes,确认升级路径,备份数据库、配置和录像,记录当前版本和容器状态。JumpServer 3.x 升级 4.x 需要遵守官方规定的中间版本路径,不能跨大版本直接覆盖。

./jmsctl.sh status
./jmsctl.sh backup_db
# 解压官方新版本安装包后,在新版本目录按官方说明执行
./jmsctl.sh upgrade
./jmsctl.sh start
./jmsctl.sh status

升级后至少验证管理员登录、普通用户登录、Linux SSH、Windows RDP、数据库代理、授权规则、会话录像和邮件告警。不要只检查首页能打开。

十三、Rocky Linux 9 部署常见故障排查

故障现象常见原因排查方向
安装时拉取镜像失败DNS、代理、GitHub 或镜像网络异常dig、curl、离线包、镜像配置
80/443 无法监听端口被 Nginx/Apache/面板占用ss -lntup、调整 HTTP_PORT
容器网段访问冲突DOCKER_SUBNET 与办公网或 VPN 重叠ip route、docker network、修改网段
Core 反复重启数据库、Redis、密钥或权限异常jms_core 日志、config.txt
网页能开但 SSH 资产失败JumpServer 到资产 22 端口不通nc、ssh、目标 firewalld
Windows 黑屏或断开RDP、NLA、证书或 Lion 组件异常3389、Windows 日志、Lion 日志
录像无法播放存储权限、空间不足或文件丢失df、目录权限、对象存储配置
反代后回调地址错误站点 URL、DOMAINS、转发头不正确Nginx 与系统基本设置

建议按照“系统资源 → 容器状态 → 监听端口 → 组件日志 → 数据库与 Redis → 目标资产网络”的顺序排查:

uptime
free -h
df -hT
ss -lntup
docker ps -a
docker stats --no-stream
./jmsctl.sh status
journalctl -u docker --since "30 min ago" --no-pager

磁盘满是堡垒机高频故障。会话录像会持续增长,应为录像设置容量监控、保留周期和归档策略。清理时必须按 JumpServer 支持方式进行,不要直接在数据库和录像目录里随意 rm 文件,否则审计索引与实际文件会不一致。

十四、上线验收清单

验收项目通过标准
系统与时间Rocky Linux 9 已更新,chronyd 正常,时区正确
组件状态jmsctl status 和容器均无异常重启
HTTPS域名证书有效,浏览器无安全警告
网络边界22、2222、数据库代理端口按来源限制
管理员安全默认凭据已处理,强密码和 MFA 已启用
Linux 资产普通运维账号可连接,root 未被泛授权
Windows 资产RDP 正常,录像可回放
权限模型普通用户只能看到授权资产与账号
审计命令、录像、文件传输均有记录
备份数据库、密钥、配置和录像已异机备份
升级预案已记录当前版本、官方升级路径与回退方案

完成以上验收后,Rocky Linux 9 上的 JumpServer 才算从“安装成功”进入“可上线运行”。后续应按岗位持续梳理权限,定期复核离职账号、过期授权、高权限账号和异常会话,并把备份恢复、安全更新与磁盘容量纳入日常巡检。

JumpServer 的价值不是让远程连接多一个网页,而是把原本散落的人员、账号、资产和操作统一纳入授权与审计。先用一台测试资产把连接、授权、审计和备份链路跑通,再分批接入生产系统,是比一次性导入全部服务器更稳妥的实施方式。

官方参考:JumpServer v4 官方文档JumpServer GitHub ReleasesJumpServer 官方网站。版本号、安装包名、默认凭据、组件端口与配置项可能随版本变化,正式部署必须以下载版本对应文档为准。

👉 相关阅读:JumpServer 4.x 通用部署与运维指南

本文聚焦 Rocky Linux 9 单机实战;如果还需要查看 JumpServer 支持资产类型、完整配置参数、集群思路和跨版本升级说明,可继续阅读:JumpServer 4.x 堡垒机部署及运维管理完整指南

🚀 IT峰哥软件库

更多 Linux、堡垒机、网络安全和企业信息化实战资料,可访问 IT峰哥软件库 获取。

默认

Windows Server 2025 双域控搭建 AD 活动目录与组策略同步实战教程

2026-7-19 9:38:40

默认

Linux 发行版怎么选?Ubuntu CentOS Debian RHEL Rocky openEuler 区别指南

2026-7-19 9:52:58

搜索