结合 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 状态
(四)访问验证
三、核心配置:添加并管理服务器
(一)核心概念说明
- 资产:被管理的服务器(物理机、虚拟机、云服务器等)。
- 节点:资产的逻辑分组(如按部门、环境划分:研发部 – 测试环境、运维部 – 生产环境)。
- 账号:资产的登录账号(如 root、普通用户),支持密码 / 密钥认证。
- 用户 / 用户组:JumpServer 的登录用户(如运维人员),通过权限授权访问资产。
- 授权规则:将用户 / 用户组与资产 / 节点绑定,分配访问权限(如只读、完全控制)。
(二)Step 1:创建资产节点(分类管理服务器)
- 名称:如「生产环境 – 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.
(四)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 登录被管理服务器
- 「Web 终端」:直接在浏览器中打开 SSH 终端,无需本地安装工具(推荐)。
- 「SSH 客户端」:本地用 Xshell、Putty 连接 JumpServer 的 2222 端口,格式:ssh -p 2222 运维账号@JumpServerIP,登录后输入资产编号即可选择服务器。
- 「RDP」:若管理 Windows 服务器,可通过 Web RDP 或本地远程桌面连接(需开放 3389 端口)。
(二)操作审计(合规核心功能)
JumpServer 会自动记录所有运维操作,满足合规审计要求:
(三)批量管理服务器(效率提升)
五、运维管理:备份、升级、故障排查
(一)数据备份(防止数据丢失)
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。
- 检查 Docker 容器是否正常运行(docker-compose ps)。
- 重置管理员密码:docker-compose exec core jumpserver reset-admin-password。
六、安全加固建议(合规要求)
plaintext
### 总结
JumpServer 部署核心是 **Docker Compose 快速搭建环境**,管理服务器的关键是「节点分类→资产添加→账号绑定→权限授权」的闭环流程。通过其内置的审计功能(命令记录、录像回放)可满足合规要求,批量操作功能能提升运维效率。建议生产环境优先使用密钥认证、HTTPS加密、IP限制等安全措施,确保服务器管控的安全性与合规性。




