jumpServer的部署与安装并管理相应的服务器
结合 JumpServer 开源堡垒机的特性(开源、多云兼容、支持多协议管理),以下是 JumpServer 完整部署安装、服务器管理的实操指南,包含环境准备、部署步骤、权限配置、日常运维等核心内容,适配企业级服务器管控场景(兼容物理机、虚拟机、云服务器):
一、部署前准备(环境要求 + 前置检查)
(一)基础环境要求(推荐配置)
| 环境类型 | 配置规格 | 说明 |
|---|---|---|
| 操作系统 | CentOS 7/8、Ubuntu 20.04/22.04 | 需关闭 SELinux,防火墙开放指定端口 |
| 硬件配置 | CPU ≥ 2 核、内存 ≥ 4GB、磁盘 ≥ 50GB | 生产环境建议 4 核 8GB,支持 100 + 服务器管理 |
| 依赖组件 | Docker 20.10+、Docker Compose 2.0+ | 推荐 Docker 部署(简化环境依赖),也支持源码 / 二进制部署 |
| 网络要求 | 端口开放:80(HTTP)、443(HTTPS)、2222(SSH 代理)、3306(数据库,可选) | 客户端需能访问 JumpServer 端口,被管理服务器需允许 JumpServer 主机 IP 访问 22 端口(SSH) |
(二)前置操作(以 CentOS 7 为例)
-
关闭 SELinux 与防火墙(或开放对应端口):
# 关闭 SELinux(永久生效,需重启)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
# 关闭防火墙(生产环境建议开放端口而非关闭)
systemctl stop firewalld && systemctl disable firewalld
# 若开启防火墙,开放端口
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-port=2222/tcp
firewall-cmd --reload
2.安装 Docker 与 Docker Compose:
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker && systemctl enable docker
# 安装 Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version # 验证安装成功
二、JumpServer 部署(Docker Compose 方式,推荐)
(一)下载部署脚本与配置文件
# 创建工作目录
mkdir -p /opt/jumpserver && cd /opt/jumpserver
# 下载官方 docker-compose 配置文件(国内镜像加速)
curl -O https://download.jumpserver.org/v3/docker-compose.yml
curl -O https://download.jumpserver.org/v3/.env
(二)修改核心配置(.env 文件)
vi .env # 编辑配置文件,关键参数如下:
核心配置项说明(其余默认即可):
# 访问地址(必填,填写 JumpServer 主机IP或域名)
SECURE_URL=https://jumpserver.example.com # 生产环境建议用HTTPS,测试可用http://IP
HTTP_PORT=80
HTTPS_PORT=443
# 管理员初始密码(必须修改,避免默认密码泄露)
BOOTSTRAP_TOKEN=your_secure_token # 自定义随机字符串(如生成命令:cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16)
ADMIN_USER=admin
ADMIN_PASSWORD=YourAdmin@123 # 强密码,包含大小写、数字、特殊字符
# 数据库配置(默认使用内置 PostgreSQL,生产环境可改为外部数据库)
DB_HOST=postgres
DB_PORT=5432
DB_USER=jumpserver
DB_PASSWORD=your_db_password
DB_NAME=jumpserver
# Redis 配置(默认内置,生产环境可改为外部 Redis)
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=your_redis_password
(三)启动 JumpServer 服务
# 拉取镜像并启动(首次启动需下载镜像,耗时根据网络情况而定)
docker-compose up -d
# 查看启动状态(确保所有容器正常运行)
docker-compose ps
# 正常状态:postgres、redis、core、koko、lion、web 均为 up 状态
(四)访问验证
- 浏览器访问配置的
SECURE_URL(如http://192.168.1.100或https://jumpserver.example.com)。 - 输入用户名
admin和配置的ADMIN_PASSWORD登录,首次登录需修改密码(强制要求)。
三、核心配置:添加并管理服务器
(一)核心概念说明
- 资产:被管理的服务器(物理机、虚拟机、云服务器等)。
- 节点:资产的逻辑分组(如按部门、环境划分:研发部 - 测试环境、运维部 - 生产环境)。
- 账号:资产的登录账号(如 root、普通用户),支持密码 / 密钥认证。
- 用户 / 用户组:JumpServer 的登录用户(如运维人员),通过权限授权访问资产。
- 授权规则:将用户 / 用户组与资产 / 节点绑定,分配访问权限(如只读、完全控制)。
(二)Step 1:创建资产节点(分类管理服务器)
- 登录 JumpServer 后台 → 左侧菜单【资产】→【节点】→ 点击【创建节点】。
- 填写节点信息:
- 名称:如「生产环境 - Web 服务器」。
- 父节点:默认「Default」,可自定义层级(如「生产环境」→「Web 服务器」)。
- 备注:如「存放线上 Nginx/Apache 服务器」。
- 点击【提交】,完成节点创建。
(三)Step 2:添加被管理服务器(资产)
- 左侧菜单【资产】→【资产列表】→ 点击【创建资产】。
- 填写资产核心信息:
| 字段 | 说明 |
|---|---|
| 资产名称 | 自定义(如「Web - 生产 - 01」) |
| 节点 | 选择步骤 1 创建的节点(如「生产环境 - Web 服务器」) |
| IP 地址 | 被管理服务器的公网 / 内网 IP(如「192.168.1.200」) |
| 端口 | SSH 端口(默认 22,若修改过需填写实际端口) |
| 操作系统 | 选择对应系统(如「CentOS 7」「Ubuntu 20.04」) |
| 资产类型 | 默认「服务器」 |
3.
- 其他配置(可选):
- 备注:如「业务核心 Web 服务器,运行电商前台」。
- 标签:添加标签便于筛选(如「生产」「Web」)。
4.
- 点击【提交】,资产添加完成(状态默认「未测试」)。
5.
- 测试资产连通性:在资产列表点击该资产的【测试连接】,若显示「连接成功」则资产可达;失败需检查网络(被管理服务器 22 端口是否允许 JumpServerIP 访问)。
(四)Step 3:添加资产登录账号(密码 / 密钥)
- 左侧菜单【资产】→【账号列表】→ 点击【创建账号】。
- 选择账号类型:
- 「系统用户」:JumpServer 自动推送至资产的账号(需资产支持 sudo 权限),推荐用于批量管理。
- 「本地账号」:资产已存在的账号(如 root、自定义运维账号),适合单台配置。
- 以「本地账号」为例,填写信息:
- 账号名称:资产上已有的用户名(如「root」「ops」)。
- 认证类型:选择「密码」或「密钥」(推荐密钥更安全)。
- 密码认证:填写该账号的登录密码。
- 密钥认证:上传资产的私钥文件(需确保 JumpServer 能通过该私钥登录资产)。
- 关联资产:选择需要绑定该账号的服务器(可多选)。
- 点击【提交】,账号添加完成。
(五)Step 4:创建 JumpServer 用户(运维人员)
- 左侧菜单【用户】→【用户列表】→ 点击【创建用户】。
- 填写用户信息:
- 用户名:如「zhang san」。
- 账号:登录 JumpServer 的账号(如「zhangsan」)。
- 密码:设置登录密码(强密码要求)。
- 邮箱 / 手机号:用于找回密码、接收通知。
- 用户组:可添加至默认组或自定义组(如「运维组」)。
- 点击【提交】,用户创建完成(默认状态「启用」)。
(六)Step 5:授权访问(核心步骤)
- 左侧菜单【权限】→【授权规则】→ 点击【创建授权规则】。
- 配置授权信息:
- 授权名称:自定义(如「运维组 - 访问生产 Web 服务器」)。
- 用户 / 用户组:选择步骤 4 创建的用户或用户组(如「zhangsan」「运维组」)。
- 资产 / 节点:选择步骤 1 的节点或步骤 2 的资产(如「生产环境 - Web 服务器」节点)。
- 账号:选择步骤 3 创建的资产账号(如「root」「ops」)。
- 权限范围:选择「完全控制」(可执行所有操作)或「只读」(仅查看)。
- 有效期:默认「永久有效」,可设置临时授权(如项目期间 1 个月)。
- 点击【提交】,授权生效。
四、日常管理:登录服务器、操作审计
(一)通过 JumpServer 登录被管理服务器
- 运维人员登录 JumpServer 前台(与管理员后台地址一致)。
- 左侧菜单【资产】→【我的资产】,可看到已授权的服务器列表。
- 登录方式(支持 3 种):
- 「Web 终端」:直接在浏览器中打开 SSH 终端,无需本地安装工具(推荐)。
- 「SSH 客户端」:本地用 Xshell、Putty 连接 JumpServer 的 2222 端口,格式:
ssh -p 2222 运维账号@JumpServerIP,登录后输入资产编号即可选择服务器。 - 「RDP」:若管理 Windows 服务器,可通过 Web RDP 或本地远程桌面连接(需开放 3389 端口)。
(二)操作审计(合规核心功能)
JumpServer 会自动记录所有运维操作,满足合规审计要求:
- 管理员后台 → 左侧菜单【审计】→【会话管理】:查看所有登录会话(包括登录用户、资产、登录时间、操作时长)。
- 【命令审计】:查看所有执行的 Linux 命令(支持按用户、资产、时间筛选,可导出日志)。
- 【文件传输审计】:记录所有上传 / 下载的文件(包括文件名、大小、传输时间)。
- 【录像回放】:对 Web 终端 / SSH 客户端的操作进行录像,可回放完整操作过程(支持倍速、拖拽)。
(三)批量管理服务器(效率提升)
- 批量添加资产:【资产】→【资产列表】→【导入】,下载模板填写多台服务器信息,批量上传。
- 批量执行命令:【资产】→【批量操作】→【命令执行】,输入命令(如
yum update -y、df -h),选择目标资产,点击【执行】,实时查看执行结果。 - 批量分发文件:【资产】→【批量操作】→【文件分发】,上传本地文件,选择目标资产和存放路径,批量推送(如分发配置文件、脚本)。
五、运维管理:备份、升级、故障排查
(一)数据备份(防止数据丢失)
JumpServer 核心数据存储在 PostgreSQL 数据库和 Redis 中,推荐每日备份:
bash
运行
# 进入工作目录
cd /opt/jumpserver
# 备份数据库(使用内置脚本)
docker-compose exec postgres pg_dump -U jumpserver jumpserver > /opt/backup/jumpserver_$(date +%Y%m%d).sql
# 备份配置文件
cp /opt/jumpserver/.env /opt/backup/env_$(date +%Y%m%d)
(二)版本升级(迭代功能 / 修复漏洞)
bash
运行
# 进入工作目录
cd /opt/jumpserver
# 备份当前配置和数据(重要!)
cp .env .env.bak
docker-compose down # 停止服务
# 下载最新配置文件
curl -O https://download.jumpserver.org/v3/docker-compose.yml
curl -O https://download.jumpserver.org/v3/.env
# 恢复自定义配置(将 .env.bak 中的自定义参数复制到新 .env 中)
vi .env # 覆盖 BOOTSTRAP_TOKEN、ADMIN_PASSWORD、数据库/Redis 配置等
# 启动新服务(自动拉取最新镜像)
docker-compose up -d
(三)常见故障排查
- 容器启动失败:
bash
运行
docker-compose logs -f # 查看所有容器日志,定位报错原因(如端口占用、配置错误) - 资产连接失败:
- 检查被管理服务器 22 端口是否开放,且允许 JumpServer 主机 IP 访问。
- 检查资产账号密码 / 密钥是否正确(重新测试账号认证)。
- 检查 JumpServer 的网络连通性:
docker-compose exec core ping 被管理服务器IP。
- 登录 JumpServer 失败:
- 检查 Docker 容器是否正常运行(
docker-compose ps)。 - 重置管理员密码:
docker-compose exec core jumpserver reset-admin-password。
- 检查 Docker 容器是否正常运行(
六、安全加固建议(合规要求)
- 启用 HTTPS:生产环境必须配置 SSL 证书(替换默认自签名证书),修改
.env中SECURE_URL为https://域名,并将证书文件放置在./config/nginx/ssl目录。 - 限制登录 IP:在防火墙层面仅允许指定 IP 段(如公司办公网)访问 JumpServer 的 80/443/2222 端口。
- 定期更换密码:强制用户每 90 天修改 JumpServer 登录密码,资产账号密码定期轮换。
- 最小权限原则:避免给普通运维人员分配「管理员」角色,授权时仅开放必要的资产和操作权限。
- 日志留存:将 JumpServer 审计日志导出至第三方日志系统(如 ELK、Splunk),留存至少 6 个月(满足合规要求)。
plaintext
### 总结
JumpServer 部署核心是 **Docker Compose 快速搭建环境**,管理服务器的关键是「节点分类→资产添加→账号绑定→权限授权」的闭环流程。通过其内置的审计功能(命令记录、录像回放)可满足合规要求,批量操作功能能提升运维效率。建议生产环境优先使用密钥认证、HTTPS加密、IP限制等安全措施,确保服务器管控的安全性与合规性。







