2682 字
13 分钟
JumpServer 开源堡垒机部署与上手完全教程

前言 如果你管理着几十台甚至上百台服务器,你一定遇到过这样的烦恼:团队成员需要SSH登录服务器,但每个人都直接接触生产环境,安全隐患极大;离职员工还记得服务器密码;操作出了事故找不到责任人……这些问题,一台堡垒机就能解决。

JumpServer 是广受欢迎的开源堡垒机,符合 4A(认证、授权、审计、账号管理)规范,能够帮助企业以更安全的方式管控和登录所有类型的资产 。本文将手把手带你完成 JumpServer 的部署与基本配置,从零开始搭建一套可用的堡垒机系统。

一、部署前的准备

1.1 硬件与系统要求

部署 JumpServer 需要准备一台干净的 Linux 服务器(物理机或虚拟机均可),建议配置如下:

项目 最低配置 推荐配置 CPU 2核 4核及以上 内存 8GB 16GB及以上 硬盘 60GB 100GB+ SSD 架构 x86_64 或 ARM64 x86_64 Linux内核 = 4.0 最新稳定版

操作系统支持主流 Linux 发行版,包括 CentOS 7+、Ubuntu 18.04+、Debian 10+,以及国产操作系统如麒麟、统信等 。

1.2 网络要求

JumpServer 需要能够访问:

· 目标资产(服务器、数据库等)的对应端口 · 管理员客户端浏览器访问 Web 界面

建议关闭防火墙或开放以下端口:

· 80(HTTP Web 访问) · 443(HTTPS Web 访问,需配置证书) · 2222(SSH 客户端连接)

1.3 安装依赖工具

CentOS/RHEL 系统:

yum update -y
yum install -y wget curl tar gettext iptables

Ubuntu/Debian 系统:

apt-get update
apt-get install -y wget curl tar gettext iptables

二、安装 JumpServer(离线安装方式)

在线安装受网络环境影响较大,这里推荐使用离线安装包,稳定可靠 。

2.1 下载安装包

从飞致云社区(https://www.fit2cloud.com/)下载最新版本的离线安装包,上传到服务器的 /opt 目录。

cd /opt
# 以 v4.x 版本为例,实际版本号请根据下载的包名调整
tar -xf jumpserver-ce-v4.x.x-x86_64.tar.gz
cd jumpserver-ce-v4.x.x-x86_64

2.2 执行安装

直接运行安装脚本,大部分选项使用默认值即可 :

./jmsctl.sh install

安装过程会自动完成以下工作:

  1. 检查配置文件
  2. 安装和配置 Docker 环境
  3. 加载 JumpServer 各组件镜像(Core、Koko、Lion、Web 等)
  4. 配置 MySQL 数据库(内置或外置)
  5. 配置 Redis 缓存
  6. 初始化数据库

安装过程中的交互选项说明:

交互项 建议操作 是否自定义持久化目录 默认 /data/jumpserver,按需修改 是否使用外部 MySQL 默认内置,如已有 MySQL 可选用外部 是否使用外部 Redis 默认内置,如已有 Redis 可选用外部 是否配置对外访问端口 默认 80/2222,如有冲突可修改

2.3 启动服务

./jmsctl.sh start

启动完成后,使用 docker ps 命令可以查看运行中的容器,正常情况下应该看到以下容器在运行 :

· jms_core - 核心服务 · jms_web - Web 服务 · jms_koko - SSH 组件 · jms_lion - RDP 组件 · jms_postgresql - 数据库(如使用内置) · jms_redis - 缓存(如使用内置) · jms_celery - 任务调度


三、初次登录与初始化配置

3.1 访问 Web 界面

打开 Chrome 浏览器,访问 http:// 。

使用默认账号登录:

· 用户名:admin · 密码:ChangeMe(注意大小写)

首次登录会强制要求修改密码,设置新密码后重新登录即可进入 JumpServer 主界面。

3.2 系统基础配置

登录后,点击右上角 「系统设置」,进行基础配置 。

基本设置

配置项 说明 建议值 当前站点URL 用户访问地址,影响邮件中的链接 http://你的服务器IP 或域名 用户向导URL 首次登录展示的链接 可按需配置

邮件设置(用于密码找回、通知等)

配置 SMTP 方式发送邮件 :

配置项 示例值 说明 SMTP主机 smtp.qq.com 邮件服务商的 SMTP 服务器 SMTP端口 465 或 587 465 需勾选 SSL,587 需勾选 TLS SMTP账号 [email protected] 发件邮箱账号 SMTP密码 授权码 部分服务商需使用授权码而非邮箱密码 发件人 [email protected] 与 SMTP 账号一致 测试收件人 [email protected] 用于测试配置是否成功

注意:SSL 和 TLS 不可同时勾选 。


四、管理资产

4.1 资产树管理

在 「资产管理」→「资产列表」 中,右键点击根节点 Default,创建组织资产的目录结构 :

Default
├─ Linux_服务器
├─ Windows_服务器
└─ 数据库

4.2 添加 Linux 资产

在 「资产管理」→「资产列表」→「主机」 点击「创建」,填写资产信息 :

字段 示例 说明 名称 test_ssh_01 资产显示名称 IP/主机 192.168.1.10 资产的实际IP 资产平台 Linux 选择对应的操作系统类型 节点 /Default/Linux_服务器 资产所属目录 协议组 ssh / 22 默认 SSH 端口 22

在「账号列表」中添加特权用户(用于执行自动化任务如连接性测试、推送用户等):

字段 示例 说明 名称 root_192.168.1.10 账号标识 用户名 root 资产上的用户名 特权用户 是 必须勾选,用于自动化任务 密码 ******** 资产的 root 密码

注意:创建完成后稍等片刻刷新页面,如果资产可连接,图标会变为绿色,并自动获取硬件信息。如果显示黄色或红色,可以点击资产名称,在「快速修改」中点击「测试可连接性」查看具体错误 。

4.3 添加 Windows 资产

Windows 资产的添加流程类似,但需要额外注意 :

  1. 系统平台选择 「Windows」
  2. 协议组选择 「rdp / 3389」
  3. Windows 资产默认不支持 SSH 连接,如需执行自动化任务(如更新资产信息),需要手动在 Windows 上安装 OpenSSH Server
  4. 特权用户对 Windows 资产无效

4.4 添加数据库资产

JumpServer 支持纳管 MySQL、PostgreSQL、Redis 等多种数据库 。

以 MySQL 为例:

  1. 点击 「资产管理」→「资产列表」→「创建」→「数据库」→「MySQL」
  2. 填写信息:

字段 示例 说明 名称 test_mysql_01 资产显示名称 地址 192.168.1.20 数据库服务器IP 数据库 test_db 要连接的数据库名 协议组 mysql / 3306 默认 MySQL 端口

  1. 在账号列表中添加数据库用户(如 root)

注意:需要确保 JumpServer 能通过网络访问目标数据库的端口 。


五、用户与授权管理

5.1 创建用户

在 「用户管理」→「用户列表」 中点击「创建」,添加组织成员:

字段 示例 说明 用户名 zhangsan 登录账号 姓名 张三 显示名称 邮箱 [email protected] 用于接收通知 角色 用户 普通用户只能看到授权的资产

5.2 创建授权规则

授权是 JumpServer 的核心功能,决定了哪些用户可以访问哪些资产 。

在 「权限管理」→「资产授权」 中点击「创建」:

字段 说明 示例 名称 授权规则名称 zhangsan_linux 用户 选择授权给哪些用户 zhangsan 用户组 也可授权给用户组 运维组 资产 选择具体资产 test_ssh_01 节点 也可选择节点,包含该节点下所有资产 /Default/Linux_服务器 账号 连接资产使用的账号 root(系统用户)

重要:

· 用户和用户组二选一,推荐使用用户组便于批量管理 · 资产和节点二选一,推荐使用节点便于扩展 · 不同类型资产(Linux/Windows/数据库)需要分别创建授权规则


六、用户访问资产

6.1 Web 终端方式

用户登录 JumpServer 后,在 Web 界面右上角点击 「Web终端」,即可看到自己被授权的资产列表,点击连接即可通过浏览器直接访问 。

Web 终端的优势:

· 无需安装任何客户端 · 支持 SSH、RDP 等多种协议 · 操作全程录像,便于审计

6.2 SSH 客户端方式

高级用户也可通过 SSH 客户端(如 Xshell、PuTTY、MobaXterm 等)连接 JumpServer,然后跳转到目标资产:

ssh -p 2222 admin@<JumpServer_IP>

输入密码后,进入 JumpServer 的 Web CLI 界面,可选择已授权的资产进行连接。


七、审计与监控

审计是堡垒机的核心价值之一,JumpServer 的审计台提供了全面的审计功能 。

7.1 历史会话

在 「审计台」→「历史会话」 中可以:

· 查看所有用户的登录记录和操作命令 · 回放操作录像,还原当时的操作过程 · 下载会话录像,用于合规审计或培训

7.2 在线会话

在 「审计台」→「在线会话」 中可以实时查看当前正在进行的会话,管理员可以在必要时强制中断可疑会话。


八、常用管理命令

安装完成后,所有管理操作都在安装目录下通过 jmsctl.sh 脚本完成 :

命令 说明 ./jmsctl.sh start 启动所有服务 ./jmsctl.sh stop 停止所有服务 ./jmsctl.sh restart 重启所有服务 ./jmsctl.sh backup 备份数据 ./jmsctl.sh upgrade 升级到新版本 ./jmsctl.sh –help 查看所有可用命令


九、常见问题排查

9.1 资产连接图标显示红色或黄色

  1. 检查资产是否正常运行,网络是否可达
  2. 检查特权用户的用户名和密码是否正确
  3. Linux 资产需要确保已安装 Python(版本 >= 2.6)
  4. 检查 JumpServer 服务器到目标资产的网络连通性(防火墙、安全组)

9.2 用户登录后看不到资产

在 「权限管理」→「资产授权」 中检查该用户是否已被正确授权,以及授权规则中的资产和账号配置是否正确 。

9.3 Windows 资产连接失败

  1. 确认 Windows 已开启远程桌面服务
  2. 确认 Windows 防火墙放行了 3389 端口
  3. 如果在客户端使用 RDP 方式连接,确保 JumpServer 客户端版本 >= v4.0.0

9.4 忘记 admin 密码

可以通过 Docker 命令重置 admin 密码:

docker exec -it jms_core python /opt/jumpserver/apps/manage.py changepassword admin

后记

至此,你已经完成了 JumpServer 的部署、初始配置、资产纳管、用户授权等核心操作。接下来,你可以根据实际需求逐步探索更多功能:

· 配置 HTTPS:提升 Web 访问安全性 · 对接 LDAP/OIDC:与企业统一认证系统集成 · 批量导入资产:通过 CSV 或 API 批量添加资产 · 配置告警规则:实时监控异常操作

JumpServer 作为企业级堡垒机,能够显著提升运维安全性和管理效率。希望这篇教程能帮助你顺利上手。


参考文档:

· JumpServer 官方文档:https://docs.jumpserver.org/ · 飞致云社区:https://www.fit2cloud.com/

JumpServer 开源堡垒机部署与上手完全教程
https://iyu6.com/posts/jumpserver/
作者
yuyuovo
发布于
2026-08-05
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...