• Docker部署jumpserver


    当前服务器版本:centos7.5

    服务器IP: 10.0.0.1

    配置:2核4G

    0 简介

     Jumpserver 使用 Python / Django 进行开发,开源的堡垒机,我搭建jumpserver的主要为了方便统一管理服务器 ,另一方面方便开发人员通过堡垒机查看日志,接下来就跟着我一起快速体验一下jumpserver的安装和使用吧。

    官方文档:https://jumpserver.readthedocs.io/zh/master/

    1 准备工作

    1.1 安装docker

    wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

    sed -i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

    yum list docker-ce --showduplicates | sort -r #可列出docker版本

    yum install docker-ce -y         #此安装最新版本的docker

    mkdir /etc/docker

    vim /etc/docker/daemon.json

    {

    "registry-mirrors": ["https://registry.docker-cn.com"]

    }

    systemctl daemon-reload

    systemctl restart docker

    1.2 安装mysql

    mkdir -p /mnt/mysql/data

    docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=Test@1234 -p 3306:3306 -v /mnt/mysql/data:/var/lib/mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

    注意:密码不要设置123456这种简单的密码,否则会导致jumpserver无法写入数据!提示无法连接mysql

    创建jumpserver数据库,并授权

    #docker exec -it mysql /bin/bash

    mysql -u root -p Test@1234

    mysql> create database jumpserver default charset 'utf8mb4';

    mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'Test@1234';

    mysql> flush privileges;

    mysql> exit

    #exit

    1.3 安装redis

    mkdir -p /mnt/redis/data

    docker run -d -it --name redis -p 6379:6379 -v /mnt/redis/data:/data --restart=always  --sysctl net.core.somaxconn=1024  redis:4.0.10 --requirepass "123456"
    
    DBHOST: 10.0.0.1
    
    DBNAME: jumpserver
    
    DBUSER: jumpserver
    
    DBPASSWORD: Test@1234
    
    Redis地址:10.0.0.1
    
    Redis密码: 123456
    

    2 生成随机加密密钥

    SECRET_KEY 很重要,以后升级或者迁移数据需要用到。
    
    # 生成随机加密秘钥, 勿外泄,使用 root 身份在服务器上输入
    
    # 环境迁移和更新升级请检查 SECRET_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
    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

    VT6AxUpfGKq1uUoDoqI51r7jOboBfNsshjsPrmVdqjqx3kUl9z
    
    z8rXvysXR6E1o8W6
    

    3 安装jumpserver

    mkdir -p /mnt/jumpserver/data

    这里使用版本v2.2.3版本

    docker run -d --name jumpserver -h jumpserver --restart=always  
    
        -v /mnt/jumpserver/data:/opt/jumpserver/data/media 
    
        -p 80:80 
    
        -p 2222:2222 
    
        -e SECRET_KEY=VT6AxUpfGKq1uUoDoqI51r7jOboBfNsshjsPrmVdqjqx3kUl9z 
    
        -e BOOTSTRAP_TOKEN=z8rXvysXR6E1o8W6 
    
        -e DB_HOST=10.0.0.1 
    
        -e DB_PORT=3306 
    
        -e DB_USER=jumpserver 
    
        -e DB_PASSWORD="Test@1234" 
    
        -e DB_NAME=jumpserver 
    
        -e REDIS_HOST=10.0.0.1 
    
        -e REDIS_PORT=6379 
    
        -e REDIS_PASSWORD="123456" 
    
    jumpserver/jms_all:v2.2.3
    
    参数解释
    

    -h 指定docker主机名

    -e 指定环境变量,注意修改mysql和redis的ip地址和密码。

    查看jumpserver日志

    # docker logs -f jumpserver

    3.1 访问页面

    浏览器访问:http://<容器所在服务器IP>

    用户名admin 密码admin

    3.2 启动koko

    docker exec -it jumpserver /bin/bash

    cd koko

    ./koko restart -d

    查看koko进程

    3.2.1 koko故障记录

    [ERRO] POST http://127.0.0.1:8080/api/v2/terminal/terminal-registrations/ failed, get code: 400, {"name":["名称重复"]}

    进入 Jumpserver 网页 => 会话管理 => 终端管理 => 删除所有终端,再启动.

    [ERRO] POST http://127.0.0.1:8080/api/v2/terminal/terminal-registrations/ failed, get code: 401, {"detail":"身份认证信息未提供。"}

    cat /opt/koko/config.yml | grep BOOTSTRAP_TOKEN

    提供:BOOTSTRAP_TOKEN

    作者:岁月星空
    出处:https://www.cnblogs.com/syxk
    ^_^如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,您的“推荐” 将是我最大的写作动力^_^。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    C# 杂活
    常用 SQL Server 规范集锦
    C# 文件操作
    使用Git 本地代码提交到 GitHub
    Numpy的小总结
    C#最佳工具集合:IDE、分析、自动化工具等
    Web服务器、应用服务器、Web容器、反向代理服务器区别与联系
    Platt SMO 和遗传算法优化 SVM
    Pycharm配置(三)
    Pycharm配置(二)
  • 原文地址:https://www.cnblogs.com/SyXk/p/14537968.html
Copyright © 2020-2023  润新知