CentOS 7.5部署JumpServer堡垒机完整指南
2026/7/22 8:18:22 网站建设 项目流程

1. CentOS 7.5 环境准备与基础配置

在开始部署JumpServer之前,我们需要确保CentOS 7.5系统已经做好充分准备。以下是详细的准备工作:

1.1 系统版本确认与更新

首先确认系统版本是否为CentOS 7.5或兼容版本:

cat /etc/redhat-release uname -r

如果系统版本低于7.5,建议先进行升级。执行系统更新:

yum update -y

注意:生产环境中建议在非业务高峰期进行系统更新,并提前做好备份。

1.2 关闭SELinux和防火墙

JumpServer需要特定的网络访问权限,建议临时关闭安全限制:

setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config systemctl stop firewalld systemctl disable firewalld

1.3 安装基础工具包

安装后续部署所需的工具集:

yum install -y wget curl tar gettext iptables vim net-tools lrzsz tree

这些工具将用于文件传输、压缩解压、网络配置等操作。

1.4 系统参数优化

对于生产环境,建议调整以下内核参数:

echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf echo "fs.file-max = 65535" >> /etc/sysctl.conf sysctl -p

这些优化可以减少TCP连接回收时间,提高系统文件描述符上限。

2. JumpServer安装包获取与解压

2.1 下载最新稳定版JumpServer

官方推荐使用v2.28.6稳定版本:

cd /opt wget https://github.com/jumpserver/installer/releases/download/v2.28.6/jumpserver-installer-v2.28.6.tar.gz

提示:如果下载速度慢,可以使用国内镜像源:wget https://demo.jumpserver.org/download/installer/v2.28.6/jumpserver-installer-v2.28.6.tar.gz

2.2 解压安装包

tar -xf jumpserver-installer-v2.28.6.tar.gz mv jumpserver-installer-v2.28.6 jumpserver

解压后的目录结构如下:

jumpserver ├── compose/ # Docker compose文件 ├── config-example.txt # 配置文件模板 ├── jmsctl.sh # 主控制脚本 ├── scripts/ # 安装脚本 └── utils/ # 工具脚本

2.3 目录权限设置

确保安装目录有正确权限:

chown -R root:root jumpserver chmod -R 755 jumpserver

3. Docker环境安装与配置

JumpServer使用Docker容器化部署,需要先安装Docker环境。

3.1 自动安装Docker

JumpServer提供了自动安装脚本:

cd /opt/jumpserver bash scripts/2_install_docker.sh

安装完成后验证Docker版本:

docker --version docker-compose --version

3.2 Docker镜像加速配置

为加快镜像下载速度,建议配置国内镜像源:

mkdir -p /etc/docker cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://registry.docker-cn.com"] } EOF systemctl restart docker

3.3 Docker存储驱动优化

对于生产环境,建议使用overlay2存储驱动:

echo '{"storage-driver": "overlay2"}' > /etc/docker/daemon.json systemctl restart docker

4. JumpServer核心配置

4.1 初始化配置文件

复制示例配置文件并生成随机密钥:

cp config-example.txt config/config.txt

生成安全的SECRET_KEY和BOOTSTRAP_TOKEN:

SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 50 | head -n 1) BOOTSTRAP_TOKEN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1) sed -i "s/SECRET_KEY=/SECRET_KEY=$SECRET_KEY/g" config/config.txt sed -i "s/BOOTSTRAP_TOKEN=/BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN/g" config/config.txt

4.2 数据库配置

JumpServer支持使用内置或外置数据库。对于生产环境,建议使用外置MySQL:

sed -i 's/DB_HOST=mysql/DB_HOST=your_mysql_host/g' config/config.txt sed -i 's/DB_PORT=3306/DB_PORT=your_mysql_port/g' config/config.txt sed -i 's/DB_USER=root/DB_USER=your_mysql_user/g' config/config.txt sed -i 's/DB_PASSWORD=/DB_PASSWORD=your_mysql_password/g' config/config.txt

4.3 网络端口配置

默认HTTP端口为80,SSH端口为2222,可按需修改:

sed -i 's/HTTP_PORT=80/HTTP_PORT=8080/g' config/config.txt sed -i 's/SSH_PORT=2222/SSH_PORT=22222/g' config/config.txt

5. JumpServer安装与启动

5.1 执行安装脚本

./jmsctl.sh install

安装过程会:

  1. 检查配置文件
  2. 安装Docker组件
  3. 拉取所需镜像
  4. 初始化数据库
  5. 配置持久化存储

5.2 启动JumpServer

./jmsctl.sh start

启动后检查服务状态:

./jmsctl.sh status

正常应该看到8个容器运行:

  • jms_core:核心服务
  • jms_web:Web界面
  • jms_koko:SSH连接代理
  • jms_lion:RDP连接代理
  • jms_magnus:数据库网关
  • jms_celery:异步任务
  • jms_mysql:数据库
  • jms_redis:缓存

5.3 防火墙配置

如果系统启用了防火墙,需要开放相应端口:

firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload

6. 初始访问与安全配置

6.1 首次登录

访问http://服务器IP:80,使用默认账号:

  • 用户名:admin
  • 密码:admin

首次登录会强制修改密码。

6.2 管理员账户安全

建议立即:

  1. 修改默认admin密码
  2. 启用多因素认证(MFA)
  3. 创建具有管理员权限的备用账户

6.3 系统配置检查

进入"系统设置"检查:

  1. 基本设置:站点URL、时区等
  2. 安全设置:密码策略、登录限制等
  3. 邮件设置:配置SMTP用于通知

7. JumpServer日常维护

7.1 常用管理命令

# 启动服务 ./jmsctl.sh start # 停止服务 ./jmsctl.sh stop # 重启服务 ./jmsctl.sh restart # 备份数据库 ./jmsctl.sh backup_db # 查看日志 ./jmsctl.sh tail core

7.2 数据备份策略

建议定期备份:

  1. 数据库:使用内置备份命令
  2. 配置文件:/opt/jumpserver/config
  3. 持久化数据:/data/jumpserver

可以设置cron任务自动备份:

0 2 * * * /opt/jumpserver/jmsctl.sh backup_db

7.3 版本升级

小版本升级:

./jmsctl.sh upgrade

大版本升级建议:

  1. 查看官方升级文档
  2. 先备份数据和配置
  3. 在测试环境验证
  4. 生产环境低峰期执行

8. 常见问题排查

8.1 服务启动失败

检查步骤:

  1. 查看日志:./jmsctl.sh tail
  2. 检查端口冲突:netstat -tunlp
  3. 检查Docker状态:systemctl status docker

8.2 无法连接资产

可能原因:

  1. 网络不通
  2. 凭据错误
  3. 代理服务未正常运行

检查方法:

  1. 测试网络连通性
  2. 检查koko/lion服务状态
  3. 查看会话日志

8.3 性能优化建议

对于大规模部署:

  1. 分离数据库和Redis
  2. 增加Core节点
  3. 配置负载均衡
  4. 优化MySQL参数

我在实际部署中发现,JumpServer对内存需求较高,建议生产环境至少配置8GB内存。特别是当并发会话数多时,需要适当调整Redis和MySQL的内存配置。另外,定期清理过期的会话记录和日志可以显著提升性能。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询