Jumpserver教程01:部署jumpserver

news2024/10/6 12:25:36

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" ]; 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
    

    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.coloradmin.cn/o/1444924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机学习笔记---AT24C02(I2C总线)

目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…

【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目

作者推荐 视频算法专题 本博文涉及知识点 深度优先搜索 树 图论 分类讨论 LeetCode2973. 树中每个节点放置的金币数目 给你一棵 n 个节点的 无向 树,节点编号为 0 到 n - 1 ,树的根节点在节点 0 处。同时给你一个长度为 n - 1 的二维整数数组 edges…

计网day1

RTT:往返传播时延(越大,游戏延迟) 一.算机网络概念 网络:网样的东西,网状系统 计算机网络:是一个将分散得、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功…

课堂秩序要求有哪些内容

你是否曾经疑惑,为什么有些课堂总是秩序井然,而有些则混乱不堪?作为一位经验丰富的老师,我想告诉你,课堂秩序不仅仅是学生安静听讲那么简单,它背后涉及到许多关键因素,直接影响着教学质量和学习…

Unity学习笔记(零基础到就业)|Chapter04:C#篇补充到Unity篇过渡

Unity学习笔记(零基础到就业)|Chapter02:C#篇补充到Unity篇过渡 前言C#总结补充1.值类型和引用类型有什么区别,他们在值的传递上分别有怎样的特性2.string是引用类型,但是他对外表现出值类型的特性,为什么&…

【BIAI】Lecture 14 - Sleep and Dreaming

Sleep and Dreaming 专业词汇 pons 延髓 parietal cortex 顶叶皮层 limbic system 边缘系统 temporal cortex 颞叶皮层 dorsolateral prefrontal cortex 背外侧前额叶皮层 pineal gland 松果体 Suprachiasmatic Nucleus 视交叉上核 课程大纲 Sleep stages awake无眼动睡眠&am…

Java异常处理 throw和throws

目录 throwthrows实例制造异常 在Java中,throw和throws关键字都与异常处理有关,但它们的使用方式和目的有所不同。 throw throw关键字: * throw用于在代码中显式地抛出一个异常。你可以使用它来触发一个异常,并指定异常的类型。…

Google刚刚推出了图神经网络Tensorflow-GNN

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Hadoop-Yarn-ResourceManagerHA

在这里先给屏幕面前的你送上祝福,祝你在未来一年:技术步步高升、薪资节节攀升,身体健健康康,家庭和和美美。 一、介绍 在Hadoop2.4之前,ResourceManager是YARN集群中的单点故障 ResourceManager HA是通过 Active/St…

[职场] 公安管理学就业方向及前景 #媒体#笔记#笔记

公安管理学就业方向及前景 公安管理学是中国普通高等学校本科专业。本专业文理兼收,学制4年,授予法学学士学位。本专业培养掌握马克思主义基本原理,政治坚定,坚持党和国家的路线、方针、政策,具有良好职业素养、科学素…

Makefile编译原理 make 中的路径搜索_1

一.make中的路径搜索 问题:在实际的工程项目中,所有的源文件和头文件都放在同一个文件夹中吗? 实验1 : VPATH 引子 mhrubuntu:~/work/makefile1/17$ ll total 28 drwxrwxr-x 4 mhr mhr 4096 Apr 22 00:46 ./ drwxrwxr-x 7 mhr m…

双指针-two pointers的应用

1.枚举输出解法&#xff1a; #include <iostream> using namespace std; int num[1000]; int main(){int result,n;cin>>result>>n;for(int i0;i<n;i)cin>>num[i];for(int i0;i<n;i)for(int ji1;j<n;j)if(num[i]num[j]result)cout<<nu…

操作系统——内存管理(附带Leetcode算法题LRU)

1.内存管理主要用来干什么&#xff1f; 操作系统的内存管理主要负责内存的分配与回收、内存扩充(虚拟技术)、地址转换(逻辑-物理)、内存保护(保证各进程在自己的内存空间运行&#xff0c;不会越界访问)..... 2.什么是内存碎片&#xff1f; 内存碎片是内存的申请和释放产生的…

SpringBoot3整合Knife4j

前置&#xff1a; 官网&#xff1a;快速开始 | Knife4j gitee&#xff1a;swagger-bootstrap-ui-demo: knife4j 以及swagger-bootstrap-ui 集成框架示例项目 - Gitee.com 1.依赖引入&#xff1a; ps&#xff1a;json处理需要引入相关包 <dependency><groupId>c…

【GAMES101】Lecture 21 动画

目录 关键帧&#xff08;Keyframe animation&#xff09; 物理仿真&#xff08;Physical simulation&#xff09; 质点弹簧系统 粒子系统 运动学&#xff08;Kinematics&#xff09; 正运动学&#xff08;Forward Kinematics&#xff09; 逆运动学&#xff08;Inverse K…

【MySQL】-18 MySQL综合-4(MySQL储存引擎精讲+MySQL数据类型简介+MySQL整数类型+MySQL小数类型)

MySQL储存引擎精讲MySQL数据类型简介MySQL整数类型MySQL小数类型 十一 MySQL存储引擎精讲11.1 什么是存储引擎11.2 MySQL 5.7 支持的存储引擎11.3 如何选择 MySQL 存储引擎11.4 MySQL 默认存储引擎 十二 MySQL数据类型简介12.1 MySQL 常见数据类型1) 整数类型2) 日期/时间类型3…

Day30 回溯算法part06

又是眼红别人的一天 重新安排行程 菜鸡思路&#xff1a;把从jfk往下所有的情况都列举出来&#xff0c;result数组包含五个元素的时候返回数组。 我们只需要找到一个行程&#xff0c;就是在树形结构中唯一的一条通向叶子节点的路线 N皇后 这个isValid函数也很不好想啊 首先…

blender怎么保存窗口布局,怎么设置默认输出文件夹

进行窗口布局大家都会&#xff0c;按照自己喜好来就行了&#xff0c;设置输出文件夹如图 这些其实都简单。关键问题在于&#xff0c;自己调好了窗口布局&#xff0c;或者设置好了输出文件夹之后&#xff0c;怎么能让blender下次启动的时候呈现出自己设置好的窗口布局&#xff…

【leetcode热题100】反转链表 II

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;[1,4,3,2…

bugku 1

Flask_FileUpload 文件上传 先随便传个一句话木马 看看回显 果然不符合规定 而且发现改成图片什么的都不行 查看页面源代码&#xff0c;发现提示 那应该就要用python命令才行 试试ls 类型要改成图片 cat /flag 好像需要密码 bp爆破 根据提示&#xff0c;我们先抓包 爆破 …