
前言 如果你管理着几十台甚至上百台服务器,你一定遇到过这样的烦恼:团队成员需要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 -yyum install -y wget curl tar gettext iptablesUbuntu/Debian 系统:
apt-get updateapt-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.gzcd jumpserver-ce-v4.x.x-x86_642.2 执行安装
直接运行安装脚本,大部分选项使用默认值即可 :
./jmsctl.sh install安装过程会自动完成以下工作:
- 检查配置文件
- 安装和配置 Docker 环境
- 加载 JumpServer 各组件镜像(Core、Koko、Lion、Web 等)
- 配置 MySQL 数据库(内置或外置)
- 配置 Redis 缓存
- 初始化数据库
安装过程中的交互选项说明:
交互项 建议操作 是否自定义持久化目录 默认 /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 资产的添加流程类似,但需要额外注意 :
- 系统平台选择 「Windows」
- 协议组选择 「rdp / 3389」
- Windows 资产默认不支持 SSH 连接,如需执行自动化任务(如更新资产信息),需要手动在 Windows 上安装 OpenSSH Server
- 特权用户对 Windows 资产无效
4.4 添加数据库资产
JumpServer 支持纳管 MySQL、PostgreSQL、Redis 等多种数据库 。
以 MySQL 为例:
- 点击 「资产管理」→「资产列表」→「创建」→「数据库」→「MySQL」
- 填写信息:
字段 示例 说明 名称 test_mysql_01 资产显示名称 地址 192.168.1.20 数据库服务器IP 数据库 test_db 要连接的数据库名 协议组 mysql / 3306 默认 MySQL 端口
- 在账号列表中添加数据库用户(如 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 资产连接图标显示红色或黄色
- 检查资产是否正常运行,网络是否可达
- 检查特权用户的用户名和密码是否正确
- Linux 资产需要确保已安装 Python(版本 >= 2.6)
- 检查 JumpServer 服务器到目标资产的网络连通性(防火墙、安全组)
9.2 用户登录后看不到资产
在 「权限管理」→「资产授权」 中检查该用户是否已被正确授权,以及授权规则中的资产和账号配置是否正确 。
9.3 Windows 资产连接失败
- 确认 Windows 已开启远程桌面服务
- 确认 Windows 防火墙放行了 3389 端口
- 如果在客户端使用 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/
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 57 天
部分内容可能已过时
评论