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

    image-20240204142743884

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" ]; thenSECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`;echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc;echo $SECRET_KEY;
    elseecho $SECRET_KEY;
    fi  
    if [ ! "$BOOTSTRAP_TOKEN" ]; thenBOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`;echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc;echo $BOOTSTRAP_TOKEN;
    elseecho $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.3container_name: jumpserverrestart: alwaysports:- 8088:80- 2622:2222env_file:- ./conf/jms.envvolumes:- ./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
    

    image-20240204183126780

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465043.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】进程通信

进程 process 客户和服务器进程 下载文件表示为客户 ,上载文件的对等方表示为服务器进程与计算机网络之间的接口 套接字 socket 应用层与传输层之间的接口是建立网络应用程序的可编程接口 API进程寻址 为了标识接收进程 需要两种信息 主机的地址目的主机中的接收进程…

实景三维数据库管理系统助力实景三维中国建设

四维轻云实景三维平台作为立足基础测绘与实景三维建设工作的产品,致力于通过技术创新与应用,支持构建时空一体、联动更新、按需服务、开放共享的实景三维数据体系,实现对实景三维数据从处理、建库、更新、管理到应用服务的全生命周期管理&…

多视图特征学习 Multi-view Feature Learning既可以被看作是一种学习框架,也可以被看作是一种具体的学习算法!

Multi-view Feature Learning 1.多视图特征学习Multi-view Feature Learning的基本介绍总结 1.多视图特征学习Multi-view Feature Learning的基本介绍 多视图特征学习是一种利用多视图数据集来进行联合学习的机器学习方法。多视图数据指的是对同一事物从多种不同的途径或角度进…

【c++基础】扑克牌组合

说明 小明从一副扑克牌中(没有大小王,J认为是数字11,Q是12,K是13,A是1)抽出2张牌求和,请问能够组合出多少个不相等的数,按照由小到大输出这些数。 输入数据 第一行是一个整数n代表…

如何在 Windows 上恢复已删除的 Excel 文件

许多公司和个人在 Excel 电子表格中保存有价值的信息。当会议需要某个重要的 Excel 文件时,突然意识到您已删除或丢失该文件可能会造成严重问题。不用担心。我们将向您展示在 Windows 计算机上恢复已删除的 Excel 文件的多种方法。 如何在 Windows 上恢复已删除的 E…

IP代理在网络中解决了哪些问题?代理IP使用时效是什么意思?

随着互联网的普及和发展,IP代理作为一种网络工具,被广泛应用于各种场景。IP代理的使用可以解决很多网络中的问题,提高网络访问的速度和安全性。本文将详细介绍IP代理在网络中解决的问题,以及代理IP使用时效的含义。 一、IP代理在网…

专业140+总分410+华南理工大学811信号与系统考研经验华工电子信息与通信,真题,大纲,参考书。

23考研已经落幕,我也成功的上岸华工,回首这一年多的历程,也是有一些经验想和大家分享一下。 首先说一下个人情况,本科211,初试成绩400分。专业课140。 整体时间安排 对于考研,很重要的一环就是时间安排&…

使用C++从零开始,自己写一个MiniWeb

第一步:新建项目 1、打开VS点击创建新项目 2、选择空项目并点下一步(切记不能选错项目类型) 3、填写项目名称和路径,点击创建即可 新建好后项目是这样的比较干净 4、右击源文件,点击添加,新建http.cpp文件…

【LeetCode每日一题】二维前缀和基本概念与案例

二维前缀和 根据某个块块 的 左上角坐标,和右下角坐标 求出 块块的累加和。 304. 二维区域和检索 - 矩阵不可变 /*** param {number[][]} matrix*/ var NumMatrix function(matrix) {let row matrix.length;let col matrix[0].length;// 初始化一个二维数组&am…

探索现代Web前端开发框架:选择最适合你的工具

在当今快速发展的Web开发领域,前端开发框架的选择显得尤为关键。这些框架可以帮助我们更高效地构建出交互性强、性能卓越的用户界面。本文将带你了解几个当前最受欢迎的Web前端开发框架,并帮助你根据自己的需求选择最合适的工具。 1. React React由Fac…

导数的定义【高数笔记】

【含义】可以抽象成,在一个极其短的时间段内,温度差 / 时间差 【本质】瞬间的平均值 【分类】可以分成几类?每类需要注意的点 【导数存在的必要条件】 【导数与极限的关系】可以参考导数的定义的式子 【题型解法】分几个题型?每个…

8种基本类型的包装类(与String的转换)

java针对8种基本数据类型,定义了相应的引用类型:包装类(封装类),有了类的特点,就能调用类中的方法,java才是真正的面向对象。 基本数据类型 包装类byte Byteshort Shortint Integerlong Longfloat Floa…