当前位置: 首页 > news >正文

CentOS 7.5部署JumpServer堡垒机全流程指南

1. CentOS 7.5 部署 JumpServer 全流程指南

作为一款开源的堡垒机系统,JumpServer 在企业级运维安全领域扮演着重要角色。最近在客户现场完成了一个基于 CentOS 7.5 的 JumpServer 部署项目,现将完整实施过程整理成技术笔记。本文不仅包含标准安装步骤,还会分享实际环境中的调优经验和避坑指南。

1.1 环境准备与基础配置

首先确保系统版本为 CentOS 7.5 最小化安装,并完成基础环境配置:

# 检查系统版本 cat /etc/redhat-release # CentOS Linux release 7.5.1804 (Core) # 关闭 SELinux(生产环境需根据安全策略调整) setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 清空防火墙规则(建议后续配置具体放行规则) iptables -F && iptables -X systemctl stop firewalld systemctl disable firewalld # 安装基础工具包 yum install -y wget curl tar gettext iptables python

注意:如果使用华为云等国内云平台,建议先配置国内 yum 源加速软件安装

1.2 数据库环境部署

JumpServer 依赖 MySQL 和 Redis,以下是独立部署方案:

MySQL 5.7 安装配置:

# 添加 MySQL 官方源 rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum install -y mysql-community-server # 启动服务并设置开机自启 systemctl start mysqld systemctl enable mysqld # 获取临时密码并修改 temp_pass=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}') mysql_secure_installation -p"$temp_pass" # 创建专用数据库 mysql -uroot -p -e "CREATE DATABASE jumpserver DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"

Redis 5.x 安装配置:

yum install -y epel-release yum install -y redis # 修改关键配置 sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis.conf echo "requirepass YourStrongRedisPass" >> /etc/redis.conf systemctl start redis systemctl enable redis

2. JumpServer 核心组件部署

2.1 获取安装包与准备

推荐使用官方提供的快速安装脚本:

cd /opt curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.28.8/quick_start.sh | bash

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

  1. 创建 /opt/jumpserver-installer-v2.28.8 目录
  2. 下载必要的 Docker 镜像
  3. 生成默认配置文件模板

2.2 关键配置调整

编辑配置文件前需要生成必要的安全密钥:

# 生成随机 SECRET_KEY SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 50) echo $SECRET_KEY # 生成 BOOTSTRAP_TOKEN BOOTSTRAP_TOKEN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 16) echo $BOOTSTRAP_TOKEN

修改配置文件 /opt/jumpserver-installer-v2.28.8/config-example.txt:

## Docker 镜像配置 DOCKER_IMAGE_MIRROR=1 # 启用国内镜像加速 ## 安装配置 VOLUME_DIR=/data/jumpserver # 建议使用独立数据盘 SECRET_KEY=您生成的SECRET_KEY BOOTSTRAP_TOKEN=您生成的BOOTSTRAP_TOKEN LOG_LEVEL=ERROR ## 数据库配置(指向之前部署的实例) DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD=您的数据库密码 DB_NAME=jumpserver ## Redis 配置 REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_PASSWORD=YourStrongRedisPass ## 网络配置 DOCKER_SUBNET=192.168.250.0/24 HTTP_PORT=8080 # 避免与现有服务冲突 SSH_PORT=2222 RDP_PORT=3389

2.3 安装与启动

执行安装脚本并启动服务:

cd /opt/jumpserver-installer-v2.28.8 ./jmsctl.sh install ./jmsctl.sh start

启动成功后可以通过以下命令检查服务状态:

docker ps # 应看到 core、koko、lion 等容器正常运行 netstat -tlnp # 检查端口监听情况

3. 系统初始化与优化配置

3.1 管理员账户初始化

访问 http://服务器IP:8080 完成首次登录配置:

  1. 设置管理员账号(建议不要使用 admin 作为用户名)
  2. 配置邮件服务(用于通知和密码重置)
  3. 设置系统名称等基本信息

3.2 性能调优建议

根据服务器配置调整 /opt/jumpserver/config/core.yml:

# 会话设置 SESSION_COOKIE_AGE: 86400 # 会话有效期(秒) SESSION_EXPIRE_AT_BROWSER_CLOSE: false # 资源限制 ASSET_TASK_MAX_LIMIT: 20 # 并发任务数 TERMINAL_MAX_TASK: 10 # 终端最大任务数

Redis 优化配置(/etc/redis.conf):

maxmemory 2gb maxmemory-policy allkeys-lru timeout 300 tcp-keepalive 60

4. 常见问题排查指南

4.1 容器启动失败排查

现象:docker ps 显示容器不断重启

解决步骤

# 查看容器日志 docker logs -f jms_core # 常见错误1:数据库连接失败 # 检查 config.txt 中的 DB_* 配置是否正确 # 测试数据库连通性: mysql -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASSWORD -e "USE $DB_NAME;" # 常见错误2:Redis 连接失败 redis-cli -h $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASSWORD PING

4.2 Web 访问异常处理

现象:页面加载缓慢或部分功能异常

排查方法

  1. 检查浏览器控制台错误(F12)
  2. 查看 Nginx 访问日志:
    docker exec jms_web tail -f /var/log/nginx/access.log
  3. 调整 Nginx 客户端 body 大小限制:
    CLIENT_MAX_BODY_SIZE=1024m # 在 config.txt 中修改

4.3 SSH 连接问题

现象:通过 JumpServer 连接资产失败

排查流程

  1. 检查 Core 服务是否正常:
    curl http://localhost:8080/api/health/
  2. 验证 Koko 组件状态:
    docker exec jms_koko netstat -antp | grep 5000
  3. 检查资产网络连通性:
    docker exec jms_koko ping 目标资产IP

5. 生产环境增强建议

5.1 安全加固措施

  1. HTTPS 配置

    # 在 config.txt 中启用 HTTPS_PORT=443 SERVER_NAME=your.domain.com SSL_CERTIFICATE=/path/to/cert.pem SSL_CERTIFICATE_KEY=/path/to/key.pem
  2. 定期备份策略

    # 数据库备份 mysqldump -uroot -p jumpserver > /backup/jumpserver_$(date +%F).sql # 配置文件备份 tar czf /backup/jumpserver_config_$(date +%F).tgz /opt/jumpserver/config

5.2 高可用部署方案

对于关键业务环境,建议采用以下架构:

  • 前端:Nginx 负载均衡(多节点)
  • 核心服务:Docker Swarm/Kubernetes 集群
  • 数据库:MySQL 主从复制
  • 缓存:Redis Sentinel 集群

5.3 监控集成

推荐配置 Prometheus 监控指标:

  1. 启用 JumpServer 的 /metrics 端点
  2. 监控关键指标:
    • 活跃会话数
    • 命令执行频率
    • 资源使用率
    • 异常登录尝试

通过以上完整实施方案,我们成功在 CentOS 7.5 上部署了稳定运行的 JumpServer 堡垒机系统。实际部署中遇到的几个关键点值得注意:数据库连接池的合理配置、会话超时时间的业务适配、以及网络策略的精细控制。这些经验对于其他类似项目的实施具有重要参考价值。

http://www.jsqmd.com/news/1238933/

相关文章:

  • OpenClaw2026跨平台安装部署指南:从环境配置到生产实践
  • C++20协程与IOCP融合:构建高性能Windows网络编程框架
  • 2026年AI三大风口:原生应用、物理AI与多模态模型
  • 金狮金盾鹏保宝点盾云加密视频去检测翻录录屏工具
  • 阿里云 Lindorm vs InfluxDB vs TDengine:时序数据库全维度对比,多模融合降本 90%
  • AI赋能国自然申报:关键技术与应用实践
  • LangGraph:构建有状态Agent的动态任务拓扑网络
  • 深入解析TI L4总线互联:LA与AP模块寄存器配置与实战调试
  • AI工具助力论文格式规范与写作效率提升
  • 第一章WSaiOS 人工认知智能感知基础理论
  • C/C++指针原理与应用全解析
  • 论文改了好几遍期刊AI率还高?换对方法降到达标
  • 嵌入式系统异常与中断:内忧外患的底层处理机制与实战设计
  • C++实战:高性能民宿数据分析与可视化系统开发全解析
  • 3分钟搞定Mindustry服务器搭建:自动化塔防RTS联机全攻略
  • MSMQ技术详解:安装配置与.NET开发实战
  • 新唐单片机与INA226实现高精度数字电压电流表
  • 2026年7月最新宇舶龙湖北京长安天街门维修保养服务电话 - 亨得利钟表维修中心
  • 手机权限管理:高危权限解析与安全防护指南
  • Sora-2视频生成模型:技术解析与实战指南
  • Moneta Markets亿汇:从运营连贯性切入的视角盘点
  • 第二章WSaiOS 感知架构理论(Perception Architecture Theory)
  • Docker Compose实现微服务一键化部署实战
  • 微信开发功能不可见问题排查:从原理到实战解决方案
  • 我扒了最近的前端面经——2026年面试不背八股文了,考这5样
  • Windows高危端口135、137、139的安全防护与替代方案
  • RYU控制器实践:SDN网络中的L2Switch与Hub开发
  • n8n与FastAPI构建小红书自动化运营系统实战
  • 网络基础知识:TCP/IP、IP、端口号、套接字、OSI
  • 我做了三年AI落地,发现最难的不是模型,而是数据根本不认识彼此