简介:本文为开发者及企业用户提供JumpServer堡垒机保姆级离线安装教程,涵盖环境准备、依赖安装、核心组件部署及验证全流程,助力快速构建安全运维环境。
在云计算与混合IT架构普及的今天,企业服务器资产分散于多云、私有云及本地环境,运维安全成为核心挑战。堡垒机作为运维审计的”守门人”,通过集中管理、权限控制和操作录像等功能,有效降低内部威胁风险。JumpServer作为全球首款完全开源的堡垒机系统,凭借其轻量级架构、多协议支持(SSH/RDP/VNC等)及活跃的社区生态,成为企业安全运维的首选方案。本文将聚焦离线安装场景,为无外网访问或高安全要求的用户提供全流程指导。
验证命令示例:
# 检查系统版本(以CentOS为例)cat /etc/redhat-release# 验证内存与CPUfree -hlscpu | grep "Model name"
从有外网的机器下载以下组件:
yum install -y gcc epel-release wget curl推荐工具:使用yumdownloader或dnf download命令生成本地仓库:
# 创建本地YUM仓库(示例)mkdir -p /opt/offline_repo/{base,epel}yum install --downloadonly --downloaddir=/opt/offline_repo/base httpd mariadb rediscreaterepo /opt/offline_repo
安装数据库:
cd /opt/offline_repo/baserpm -ivh *.rpm # 批量安装下载的RPM包systemctl enable --now mariadb
初始化配置:
-- 安全加固mysql_secure_installation-- 创建JumpServer专用用户CREATE DATABASE jumpserver DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'jumpserver'@'localhost' IDENTIFIED BY 'StrongPassword123!';GRANT ALL ON jumpserver.* TO 'jumpserver'@'localhost';FLUSH PRIVILEGES;
# 解压并编译安装(若离线包无二进制)tar -xzf redis-5.0.14.tar.gzcd redis-5.0.14make PREFIX=/opt/redis install# 配置redis.confsed -i 's/^bind 127.0.0.1/bind 0.0.0.0/' /opt/redis/etc/redis.confsystemctl daemon-reloadsystemctl enable --now /opt/redis/etc/redis.service
解压核心包:
tar -xzf jumpserver-v2.28.0-offline.tar.gz -C /optcd /opt/jumpserver
修改配置文件:
# config.txt 关键配置项SECRET_KEY=随机生成32位字符串BOOTSTRAP_TOKEN=初始化令牌DB_ENGINE=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_USER=jumpserverDB_PASSWORD=StrongPassword123!DB_NAME=jumpserverREDIS_HOST=127.0.0.1REDIS_PORT=6379
启动服务:
# 使用supervisor管理(需提前安装)cp configs/supervisor.conf /etc/supervisord.d/jumpserver.inisupervisord -c /etc/supervisord.confsupervisorctl status
通过浏览器访问https://<服务器IP>:8443(HTTPS需提前配置证书),使用BOOTSTRAP_TOKEN完成初始化:
rm -rf /),检查是否触发告警测试脚本示例:
# 测试SSH连接(使用JumpServer提供的临时密钥)ssh -p 2222 admin@<服务器IP> -i /tmp/jumpserver_key# 在会话中执行命令whoamiexit
logrotate定期轮转日志,避免磁盘占满
# /etc/logrotate.d/jumpserver/opt/jumpserver/logs/*.log {dailyrotate 7compressmissingoknotifempty}
Q1:离线环境下Python依赖冲突如何处理?
pip install --no-index --find-links=/opt/python_libs指定本地包路径Q2:数据库初始化失败报错”Access denied”?
/etc/my.cnf中skip-name-resolve配置,并确保用户权限包含%通配符(如需远程访问)Q3:Web界面显示CSS/JS加载失败?
root路径是否指向/opt/jumpserver/data/static,并确认文件权限为755JumpServer的离线安装模式不仅满足金融、政府等高安全行业的需求,更通过模块化设计降低了运维复杂度。未来,随着容器化部署(K8s Operator)的成熟,离线环境的交付效率将进一步提升。建议企业定期参与社区安全更新(建议每月一次),平衡稳定性与安全性需求。
附:离线安装包清单模板
/opt/offline_repo/├── jumpserver/│ ├── jumpserver-v2.28.0.tar.gz│ └── configs/├── databases/│ ├── MariaDB-10.5.20.rpm│ └── ...└── dependencies/├── python3.8.12.rpm└── redis-5.0.14.tar.gz
通过本文的详细步骤,开发者可在完全离线的环境中快速构建企业级堡垒机系统,为数字化转型提供可靠的安全底座。