Jumpserver教程01:部署jumpserver

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 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层

    Jumpserver教程01:部署jumpserver_第1张图片

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
    

    Jumpserver教程01:部署jumpserver_第2张图片

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
    
    • 接下来就可以使用域名访问

你可能感兴趣的:(Jumpserver,jumpserver,堡垒机)