JumpServer堡垒机部署

JumpServer堡垒机部署指南

JumpServer 堡垒机部署全攻略:从环境准备到实战验证

在企业 IT 运维中,堡垒机作为 “运维入口守门人”,承担着权限管控、操作审计、风险预警等关键职责。JumpServer 作为国内开源堡垒机的标杆产品,凭借其丰富的功能、友好的 Web 界面和灵活的扩展性,成为众多企业的首选。本文将以CentOS 7.x 操作系统为例,带大家一步步完成 JumpServer 堡垒机的部署与初始化,从环境准备到功能验证,全程干货无套路。

一、部署前必看:环境准备与规划

在开始部署前,需确保服务器满足基础硬件要求,并完成操作系统的初始化配置,避免后续因环境问题导致部署失败。

1.1 硬件配置要求

JumpServer 对硬件资源的需求会随管理资产数量增长而增加,推荐基础配置如下:

  • CPU:2 核及以上(管理 100 台以内资产推荐 4 核)
  • 内存:4GB 及以上(管理 100 台以内资产推荐 8GB,避免因内存不足导致服务卡顿)
  • 硬盘:50GB 及以上(建议使用 SSD,存储审计日志和操作录像需预留更多空间)
  • 网络:服务器需能访问互联网(用于下载依赖包和 Docker 镜像),同时确保堡垒机与被管理资产(如 Linux、Windows 服务器)网络互通

1.2 操作系统初始化

以 CentOS 7.x 为例,需完成以下基础配置:

  1. 关闭防火墙与 SELinux(生产环境可按需开放端口,此处为简化部署暂时关闭)

# 关闭防火墙并设置开机不启动

systemctl stop firewalld

systemctl disable firewalld

# 临时关闭SELinux

setenforce 0

# 永久关闭SELinux(需重启生效)

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

  1. 配置国内 YUM 源(加速依赖包下载,避免官方源超时)

# 备份默认YUM源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 下载阿里云YUM源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清理并生成缓存

yum clean all && yum makecache

  1. 安装基础依赖工具

yum install -y wget curl vim net-tools git

二、核心组件安装:Docker 与 Docker Compose

JumpServer 官方推荐使用 Docker 容器化部署,无需手动配置复杂的依赖(如 Python、MySQL、Redis),只需安装 Docker 和 Docker Compose 即可快速启动服务。

2.1 安装 Docker

  1. 卸载系统中旧版本的 Docker(若存在)

yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

  1. 安装 Docker 依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 配置 Docker 阿里云镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  1. 安装并启动 Docker

# 安装Docker CE(社区版)

yum install -y docker-ce docker-ce-cli containerd.io

# 启动Docker并设置开机自启

systemctl start docker

systemctl enable docker

# 验证Docker是否安装成功(出现版本信息即正常)

docker --version

2.2 安装 Docker Compose

Docker Compose 用于编排多个 Docker 容器(如 JumpServer 主服务、MySQL、Redis、Web 终端等),简化多容器管理流程。

  1. 下载 Docker Compose 二进制文件(以 v2.20.2 版本为例,可到官方 GitHub获取最新版本)

curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  1. 赋予执行权限并验证

# 赋予执行权限

chmod +x /usr/local/bin/docker-compose

# 验证安装(出现版本信息即正常)

docker-compose --version

三、JumpServer 部署:一键启动所有服务

JumpServer 官方提供了jmsctl.sh脚本,支持一键下载配置文件、拉取镜像并启动服务,极大简化部署流程。

3.1 下载 JumpServer 配置文件

  1. 创建 JumpServer 安装目录并进入

mkdir -p /opt/jumpserver && cd /opt/jumpserver

  1. 下载官方部署脚本和配置文件

curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v3.10.1/quick_start.sh | bash

3.2 启动 JumpServer 服务

  1. 进入compose目录(脚本会自动生成该目录,包含 Docker Compose 配置文件)

cd /opt/jumpserver/compose

  1. 启动所有服务(首次启动会拉取镜像,耗时取决于网络速度,耐心等待

./jmsctl.sh start

  1. 验证服务状态(出现Up状态即正常运行)

./jmsctl.sh status

正常输出应包含以下容器(状态均为Up):

    • jumpserver_core:JumpServer 核心服务
    • jumpserver_web:Web 前端服务
    • jumpserver_mysql:MySQL 数据库
    • jumpserver_redis:Redis 缓存
    • jumpserver_guacamole:远程桌面(RDP/VNC)服务

四、初始化配置:访问与基础设置

服务启动后,需通过 Web 界面完成初始化配置,包括管理员密码设置、组织创建、资产添加等。

4.1 访问 JumpServer Web 界面

  1. 打开浏览器,输入地址:http://服务器IP:80(默认端口为 80,若需修改可编辑/opt/jumpserver/compose/config.yml文件)
  2. 首次访问会进入 “初始化管理员账号” 页面,设置管理员密码(默认用户名为admin,建议设置复杂密码,如包含大小写字母、数字和特殊符号)
  3. 密码设置完成后,登录系统,进入 JumpServer 主界面

4.2 基础配置步骤

步骤 1:创建组织(可选,适用于多部门场景)
  1. 点击左侧菜单【组织管理】→【组织】→【创建】
  2. 输入组织名称(如 “技术部”“运维部”),点击【提交】
步骤 2:创建系统用户(用于登录被管理资产的账号)

系统用户是 JumpServer 用于登录目标资产的 “桥梁”,需提前在目标资产中创建对应账号。

  1. 点击左侧菜单【资产管理】→【系统用户】→【创建】
  2. 选择操作系统类型(如 “Linux”“Windows”)
  3. 输入系统用户名(如jumpserver,需与目标资产中的账号一致)
  4. 选择认证方式(推荐 “密码”,输入目标资产中对应账号的密码)
  5. 点击【提交】
步骤 3:添加被管理资产

以添加 Linux 服务器为例:

  1. 点击左侧菜单【资产管理】→【资产列表】→【创建】
  2. 输入资产名称(如 “Linux-Web-01”)
  3. 输入资产 IP 地址(目标服务器的内网 / 外网 IP,确保堡垒机能 ping 通)
  4. 选择资产归属组织(如 “技术部”)
  5. 选择刚才创建的系统用户(如 “Linux-jumpserver”)
  6. 点击【提交】
步骤 4:验证资产连接
  1. 点击左侧菜单【Web 终端】
  2. 在资产列表中找到刚才添加的资产,点击资产名称
  3. 若连接成功,会进入 Linux 终端界面,可执行lspwd等命令测试

五、功能验证与常见问题解决

部署完成后,需验证核心功能是否正常,并了解常见问题的排查方法。

5.1 核心功能验证

  1. Web 终端连接:如上文所述,确保能正常登录资产并执行命令
  2. 文件传输:在 Web 终端界面,点击顶部菜单栏【文件】,尝试上传 / 下载文件,验证文件传输功能
  3. 操作审计:执行一些命令(如touch test.txt),然后点击左侧菜单【审计管理】→【操作日志】,查看是否能记录命令执行记录
  4. 录像回放:在【审计管理】→【会话记录】中,找到刚才的终端会话,点击【回放】,验证操作录像是否正常生成

5.2 常见问题与解决方案

问题 1:Docker 拉取镜像超时
  • 原因:默认 Docker 镜像源为国外,网络不稳定
  • 解决方案:配置 Docker 国内镜像源(如阿里云)

# 创建Docker daemon配置文件

mkdir -p /etc/docker

cat > /etc/docker/daemon.json << EOF

{

  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]

}

EOF

# 重启Docker服务

systemctl daemon-reload && systemctl restart docker

说明:https://xxxxxx.mirror.aliyuncs.com需替换为自己的阿里云镜像加速器地址(可登录阿里云控制台,在 “容器镜像服务” 中获取)。

问题 2:Web 界面无法访问
  • 排查步骤:
    1. 检查 Docker 服务是否正常运行:systemctl status docker
    2. 检查 JumpServer 容器是否正常:./jmsctl.sh status(确保所有容器为Up状态)
    3. 检查服务器端口是否开放:netstat -tuln | grep 80(确保 80 端口被监听)
    4. 若端口被占用,可修改/opt/jumpserver/compose/config.yml中的HTTP_PORT参数(如改为 8080),然后重启服务:./jmsctl.sh restart
问题 3:资产连接失败
  • 排查步骤:
    1. 检查堡垒机与目标资产的网络连通性:在堡垒机服务器上执行ping 目标资产IP
    2. 检查目标资产的 SSH 服务是否正常(Linux):telnet 目标资产IP 22
    3. 检查系统用户的账号密码是否正确(与目标资产中的账号密码一致)
    4. 检查目标资产是否禁止 root 登录(若系统用户为 root,需确保/etc/ssh/sshd_configPermitRootLogin设置为yes,并重启 SSH 服务:systemctl restart sshd

六、生产环境优化建议

若将 JumpServer 用于生产环境,需进行以下优化,提升安全性和稳定性:

  1. 修改默认端口:将 Web 服务端口(默认 80)和 SSH 端口(默认 2222)修改为非标准端口,降低被扫描风险
  2. 启用 HTTPS:通过 Nginx 反向代理或直接配置 JumpServer 的 HTTPS 证书,避免明文传输
  3. 数据备份:定期备份 MySQL 数据库(JumpServer 配置和审计日志存储在 MySQL 中),可使用mysqldump命令或 Docker Compose 的备份脚本
  4. 权限最小化:为不同运维人员创建不同角色(如 “普通运维”“审计员”),避免过度授权
  5. 日志存储:若审计日志量较大,可将日志导出到 ELK 等日志分析平台,便于长期存储和查询

总结

本文从环境准备、核心组件安装、JumpServer 部署、初始化配置到功能验证,完整覆盖了 JumpServer 堡垒机的部署流程。通过 Docker 容器化部署,不仅简化了依赖管理,还能快速实现服务的启停和版本升级。在实际应用中,需结合企业的运维场景,进一步优化权限配置和安全策略,让 JumpServer 真正成为企业 IT 运维的 “安全守门人”。

如果在部署过程中遇到其他问题,可参考JumpServer 官方文或在官方 GitHub 的 Issues 中搜索解决方案,也欢迎在评论区留言交流!

(注:文档部分内容可能由 AI 生成)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值