Jumpserver教程
注
:
-
本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com
-
转发本文请备注原文链接,本文内容整理日期:2024-02-11
-
csdn 博客名称:五维空间-影子,欢迎关注
-
简要说明
- Jumpserver 是一款符合4A的专业运维审计要求的开源堡垒机系统
# 官网地址 https://www.jumpserver.org/ # 产品介绍 https://community.fit2cloud.com/#/products/jumpserver/information # 部署方式 1、在线部署 2、源码安装 3、容器部署
- JumpServer 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层
1 基础配置
-
操作如下
- mysql(5.7及以上版本)配置,具体安装方式请参考前面文章
# 创建数据库 create database jumpserver default charset 'utf8' collate utf8_general_ci; # 创建用户并授权 CREATE USER 'jumpserver'@'%' IDENTIFIED BY 'otiA&ZgHWr'; GRANT ALL ON jumpserver.* TO 'jumpserver'@'%'; flush privileges;
- redis(6.0及以上),具体安装方式请参考前面文章
# 设置下密码 redis.conf requirepass 26enyp3LjoNF
- 机器配置
# 官网推荐2核8G,2核4G也可以但生产的话建议给大点 2 core 6G
2 随机密钥
-
说明
- 分别需要生成
$SECRET_KEY
和$BOOTSTRAP_TOKEN
- SECRET_KEY 在后续升级或迁移中需要,做好保存及保密
- 升级或迁移前请现确保 SECRET_KEY一致,否则数据库所有加密的字段均无法解密
- 分别需要生成
-
生成操作如下
- 随机生成 key
if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
- 随机生成 token
if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
- 使用
generate_key_token.sh
一键生成
#!/bin/bash if [ ! "$SECRET_KEY" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi if [ ! "$BOOTSTRAP_TOKEN" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
3 创建容器
-
操作如下
- 创建目录
mkdir Jumpserver/conf
- 创建存放环境变量信息的文件 conf/jms.env
SECRET_KEY = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 50 BOOTSTRAP_TOKEN = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 24 LOG_LEVEL = ERROR # 日志等级, 测试环境推荐设置为 DEBUG DOMAINS = jms.hkf56.com # 配置访问域名 DB_ENGINE = mysql # 使用 MySQL 数据库 DB_HOST = 192.168.26.3 # MySQL 数据库 IP 地址 DB_PORT = 3307 # MySQL 数据库 端口 DB_USER = jumpserver # MySQL 数据库认证用户 DB_PASSWORD = otiA&ZgHWr # MySQL 数据库认证密码 DB_NAME = jumpserver # JumpServer 使用的数据库名称 REDIS_HOST = 192.168.26.3 # 使用 Redis 缓存 REDIS_PORT = 6389 # Redis 服务器 IP 地址 REDIS_PASSWORD = 26enyp3LjoNF # Redis 认证密码
- 创建
docker-compose.yaml
version: '3.5' services: jumpserver: image: jumpserver/jms_all:v3.10.3 container_name: jumpserver restart: always ports: - 8088:80 - 2622:2222 env_file: - ./conf/jms.env volumes: - ./data/core:/opt/jumpserver/data - ./data/koko:/opt/koko/data - ./data/lion:/opt/lion/data - ./data/kael:/opt/kael/data - ./data/chen:/opt/chen/data - ./data/ngx_logs:/var/log/nginx
- 创建容器
docker-compose up -d
4 访问测试
-
操作如下
- 登录信息
# 地址 http://192.168.26.3:8088 # 账号密码: admin/admin
5 域名配置
-
操作如下
- 创建
jms.hkf56.com.conf
配置文件
server { listen 80; server_name jms.hkf56.com; location / { proxy_pass http://localhost:8088; } }
- 配置本地解析
# window 路径 C:\Windows\System32\drivers\etc 192.168.26.3 jms.hkf56.com
- 接下来就可以使用域名访问
- 创建