CentOS 7.5部署JumpServer堡垒机完整指南

发布时间:2026/7/22 8:18:25

CentOS 7.5部署JumpServer堡垒机完整指南 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/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config systemctl stop firewalld systemctl disable firewalld1.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.gz2.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 jumpserver3. Docker环境安装与配置JumpServer使用Docker容器化部署需要先安装Docker环境。3.1 自动安装DockerJumpServer提供了自动安装脚本cd /opt/jumpserver bash scripts/2_install_docker.sh安装完成后验证Docker版本docker --version docker-compose --version3.2 Docker镜像加速配置为加快镜像下载速度建议配置国内镜像源mkdir -p /etc/docker cat /etc/docker/daemon.json EOF { registry-mirrors: [https://registry.docker-cn.com] } EOF systemctl restart docker3.3 Docker存储驱动优化对于生产环境建议使用overlay2存储驱动echo {storage-driver: overlay2} /etc/docker/daemon.json systemctl restart docker4. JumpServer核心配置4.1 初始化配置文件复制示例配置文件并生成随机密钥cp config-example.txt config/config.txt生成安全的SECRET_KEY和BOOTSTRAP_TOKENSECRET_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.txt4.2 数据库配置JumpServer支持使用内置或外置数据库。对于生产环境建议使用外置MySQLsed -i s/DB_HOSTmysql/DB_HOSTyour_mysql_host/g config/config.txt sed -i s/DB_PORT3306/DB_PORTyour_mysql_port/g config/config.txt sed -i s/DB_USERroot/DB_USERyour_mysql_user/g config/config.txt sed -i s/DB_PASSWORD/DB_PASSWORDyour_mysql_password/g config/config.txt4.3 网络端口配置默认HTTP端口为80SSH端口为2222可按需修改sed -i s/HTTP_PORT80/HTTP_PORT8080/g config/config.txt sed -i s/SSH_PORT2222/SSH_PORT22222/g config/config.txt5. JumpServer安装与启动5.1 执行安装脚本./jmsctl.sh install安装过程会检查配置文件安装Docker组件拉取所需镜像初始化数据库配置持久化存储5.2 启动JumpServer./jmsctl.sh start启动后检查服务状态./jmsctl.sh status正常应该看到8个容器运行jms_core核心服务jms_webWeb界面jms_kokoSSH连接代理jms_lionRDP连接代理jms_magnus数据库网关jms_celery异步任务jms_mysql数据库jms_redis缓存5.3 防火墙配置如果系统启用了防火墙需要开放相应端口firewall-cmd --permanent --add-port80/tcp firewall-cmd --permanent --add-port2222/tcp firewall-cmd --reload6. 初始访问与安全配置6.1 首次登录访问http://服务器IP:80使用默认账号用户名admin密码admin首次登录会强制修改密码。6.2 管理员账户安全建议立即修改默认admin密码启用多因素认证(MFA)创建具有管理员权限的备用账户6.3 系统配置检查进入系统设置检查基本设置站点URL、时区等安全设置密码策略、登录限制等邮件设置配置SMTP用于通知7. JumpServer日常维护7.1 常用管理命令# 启动服务 ./jmsctl.sh start # 停止服务 ./jmsctl.sh stop # 重启服务 ./jmsctl.sh restart # 备份数据库 ./jmsctl.sh backup_db # 查看日志 ./jmsctl.sh tail core7.2 数据备份策略建议定期备份数据库使用内置备份命令配置文件/opt/jumpserver/config持久化数据/data/jumpserver可以设置cron任务自动备份0 2 * * * /opt/jumpserver/jmsctl.sh backup_db7.3 版本升级小版本升级./jmsctl.sh upgrade大版本升级建议查看官方升级文档先备份数据和配置在测试环境验证生产环境低峰期执行8. 常见问题排查8.1 服务启动失败检查步骤查看日志./jmsctl.sh tail检查端口冲突netstat -tunlp检查Docker状态systemctl status docker8.2 无法连接资产可能原因网络不通凭据错误代理服务未正常运行检查方法测试网络连通性检查koko/lion服务状态查看会话日志8.3 性能优化建议对于大规模部署分离数据库和Redis增加Core节点配置负载均衡优化MySQL参数我在实际部署中发现JumpServer对内存需求较高建议生产环境至少配置8GB内存。特别是当并发会话数多时需要适当调整Redis和MySQL的内存配置。另外定期清理过期的会话记录和日志可以显著提升性能。

相关新闻