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://xiahunao.cn/news/2780233.html

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

相关文章

【EAI 019】Eureka: Human-Level Reward Design via Coding LLM

论文标题:Eureka: Human-Level Reward Design via Coding Large Language Models 论文作者:Yecheng Jason Ma, William Liang, Guanzhi Wang, De-An Huang, Osbert Bastani, Dinesh Jayaraman, Yuke Zhu, Linxi Fan, Anima Anandkumar 作者单位&#xff…

视频直播系统架构的设计与实现

视频直播系统作为一种实时性强、用户互动性高的应用,其架构设计至关重要。本文将介绍如何设计和实现一个稳定、高性能的直播系统架构,以提供良好的用户体验和可靠的服务。 1. 系统架构概述 - 介绍视频直播系统的整体架构,包括客户端、服务…

【java】12:封装

面向对象编程三大特征 1.基本介绍 面向对象编程有三大特征:封装、继承和多态。 2.封装介绍 封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[方法]&am…

MySQL-----DCL基础操作

▶ DCL简介 DCL英文全称是Data ControlLanguage(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 DCL--管理用户 ▶ 查询用户 use mysql; select * from user; ▶ 创建用户 ▶ 语法 create user 用户名主机名 identified by 密码 设置为在任意主机上访问…

数据库管理-第149期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10 数据库管理-第149期 Oracle Vector DB & AI-01(20240210)1 机器学习2 向量3 向量嵌入4 向量检索5 向量数据库5 专用向量数据库的问题总结 数据库管理-第149期 Oracle Vector DB & AI-01(20240210&#xf…

BKP寄存器与RTC实时时钟

BKP寄存器 BKP寄存器简介 BKP(Backup Registers)备份寄存器 BKP可用于存储用户应用程序数据。当VDD(2.03.6V)电源被切断,他们仍然由VBAT(1.83.6V)维持供电。当系统在待机模式下被唤醒&#xf…

烹饪第一个U-Net进行图像分割

今天我们将学习如何准备计算机视觉中最重要的网络之一:U-Net。如果你没有代码和数据集也没关系,可以分别通过下面两个链接进行访问: 代码: https://www.kaggle.com/datasets/mateuszbuda/lgg-mri-segmentation?sourcepost_page--…

知识价值2-什么是IDE?新手用哪个IDE比较好?

IDE是集成开发环境(Integrated Development Environment)的缩写,是一种软件应用程序,旨在提供集成的工具集,以方便开发人员进行软件开发。IDE通常包括代码编辑器、编译器、调试器和其他工具,以支持软件开发…

使用R语言fifer包进行分层采样

使用R语言fifer包中的stratified()函数用来进行分层采样非常方便,但fifer包已经从CRAN存储库中删除,需要从存档中下载可用的历史版本,下载链接:Index of /src/contrib/Archive/fifer (r-project.org)https://cran.r-project.org/s…

浅谈路由器交换结构

一、路由器技术概述 路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议…

【算法】排序详解(快速排序,堆排序,归并排序,插入排序,希尔排序,选择排序,冒泡排序)

目录 排序的概念: 排序算法的实现: 插入排序: 希尔排序: 选择排序: 堆排序: 冒泡排序: 快速排序: 快速排序的基本框架: 1.Hoare法 2. 挖坑法 3.前后指针法 快…

口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)

口腔小程序目录 目录 基于微信小程序的口腔门诊预约系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序前台界面实现 2、后台管理员模块实现 四、数据库设计 1、实体ER图 2、具体的表设计如下所示: 五、核心代码 六、论文参考 七、最新…

ASP.NET Core Web API 流式返回,实现ChatGPT逐字显示

🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面…

关于创建vue项目报错command failed: npm install --loglevel error

一、首先 在这个目录下有个文件叫.vuerc 二、其次 进去之后把里面的"useTaobaoRegistry": false,修改下,我之前是true,后来改成了false才成功。

Linux下的多用户管理和认证:从入门到精通(附实例)

Linux操作系统以其强大的多用户管理和认证机制而著称。这种机制不仅允许多个用户同时登录并执行各种任务,还能确保每个用户的数据安全和隐私。本文将通过一系列实例,带你逐步掌握Linux下的多用户管理和认证。 一、Linux多用户管理的基础知识 在Linux中&…

EasyCaptcha,开源图形验证码新标杆!

引言: 随着互联网的普及,验证码已成为网站和应用程序中不可或缺的安全组件。它能够有效地防止自动化攻击、垃圾邮件和机器人活动。在众多验证码解决方案中,Easy-captcha以其简单易用和高度可定制的特点受到了开发者的青睐。本文将指导读者如…

推荐系统|召回05_矩阵补充、最近邻查找

文章目录 矩阵补充Matrix Completion模型结构模型训练模型存储 矩阵补充Matrix Completion 模型结构 通过用户ID和物品ID分别找到对应的向量,然后去做内积,内积的数值可以去衡量匹配的程度。 不共享参数的意思是指用户ID和物品ID使用不同的Embedding L…

【计算几何】给定一组点的多边形面积

目录 一、说明二、有序顶点集三、无序顶点集3.1 凸多边形3.2 非凸多边形 四、结论 ​ 一、说明 计算多边形面积的方法有很多种。众所周知的多边形(如三角形、矩形、正方形、梯形等)的面积可以使用简单的数学公式计算。在这篇文章中,我将讨论…

《UE5_C++多人TPS完整教程》学习笔记2 ——《P3 多人游戏概念(Multiplayer Concept)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P3 多人游戏概念(Multiplayer Concept)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译…

图灵日记--MapSet字符串常量池反射枚举Lambda表达式泛型

目录 搜索树概念实现性能分析和 java 类集的关系 搜索概念及场景模型 Map的使用Map常用方法 Set的说明常见方法说明 哈希表冲突-避免-负载因子调节冲突-解决-闭散列冲突-解决-开散列/哈希桶冲突严重时的解决办法 实现和 java 类集的关系 字符串常量池String对象创建intern方法 …