当前位置:网站首页>安装JumpServer
安装JumpServer
2022-07-24 17:53:00 【51CTO】
JumpServer(堡垒机,跳板机)是一款使用Django(由Python写成)开发的开源跳板机系统,为互联网企业提供认证、审计、授权和自动化运维等功能。
此篇主要看一下如何安装JumpServer。
- 环境要求
根据官方文档,JumpServer在安装时的环境要求为:
①硬件要求:2个CPU核心,4G内存,50G硬盘的保底要求;
②操作系统要求:Linux发行版,内核版本不低于4.0;
③数据库版本要求:MySQL版本不低于5.7,MariaDB版本不低于10.2,Redis版本不低于5.0。
笔者准备了两台Ubuntu18.04版本主机作为JumpServer服务器和数据库服务器,分别取名jumpserver和mysql-server。
- 部署MySQL服务
2.1 安装Docker和Docker-compose
mysql-server需要准备提前安装好Docker和Docker-compose,此篇不再演示,方法可参考《安装Harbor仓库,并实现高可用》(链接: https://blog.51cto.com/johnnyfang/5502714)一文的脚本安装部分。

2.2 下载MySQL镜像
jumpserver对MySQL数据库的版本要求为不低于5.7,笔者通过Docker官方下载MySQL5.7.36版本,如想选择其他版本,也可通过官网查询具体版本(版本选择界面: https://hub.docker.com/_/mysql?tab=tags)。


2.3 获取MySQL配置文件
JumpServer要求MySQL容器支持utf8格式,需修改mysqld.cnf和mysql.cnf文件,可以自己编写一个,也可以临时启动一个容器拷贝出来进行修改。
笔者就顺便创建好数据目录,后面将/data/mysql/jumpserver目录挂到容器中,并将/data/mysql/conf目录下的两个配置文件替换掉默认的MySQL配置文件。


2.4 启动MySQL容器
在拿到并修改了MySQL两个配置文件后,即可启动MySQL容器,启动时主要是设置环境变量,将两个配置文件替换容器中的默认文件,并将宿主机的/data/mysql/jumpserver目录挂载到数据库目录。

2.5 验证数据库编码
登录数据库后,检查当前数据库是否已支持utf8格式。


2.6 创建数据库和授权用户
2.6.1 创建数据库
新创建一个数据库,笔者就命名为jumpserver,并设置默认格式为utf8。

2.6.2 创建授权用户
授权登录用户部分与数据库保持同名,设置同网段内均可登录。需要注意的是,数据库授权账号密码不能是纯数字,否则在后面启动JumpServer容器时会报错。

2.7 验证数据库权限
找一台服务器安装MySQL服务器端或客户端,测试mysql-server中的jumpserver数据库是否可登录,能显示出内容则表示正常。


- 部署Redis服务
3.1 下载Redis镜像
Redis服务依旧是放在mysql-server服务器上。Redis镜像可通过Docker官方(版本选择界面: https://hub.docker.com/_/redis?tab=tags)获取,笔者选择的是6.2.5版本。


3.2 启动Redis容器
生产中如果是通过容器来部署Redis,建议也将Redis配置文件拷贝出来进行登录加密,笔者在实验中就不多做设置了。

3.3 验证Redis容器访问
找任意一台服务器服务器安装Redis客户端,看是否能成功登录并查看Redis信息,也可使用telenet查看。

- 部署JumpServer
4.1 安装Docker和Docker-compose
jumpserver服务器同样需提前安装好Docker和Docker-compose,由于将要通过Docker官方下载的jumpserver镜像较大,建议配置一下镜像加速。

4.2 下载JumpServer镜像
JumpServer镜像更新较快,目前为2.24.0版本,考虑到稳定性,笔者选择的是2.18.1版本(版本选择界面: https://hub.docker.com/r/jumpserver/jms_all/tags)。


4.3 生成加密秘钥和token
在启动JumpServer容器之前,还需要随机加密秘钥和初始化token。秘钥和初始化token部分可以自己指定,但是安全性相对差点,我们可以通过一个简单的shell命令从/dev/urandom文件中随机生成,一般包括英文大小写和数字三类。随机秘钥建议设置长点,例如设为50位,初始化token可短点,例如16位。

4.4 启动JumpServer容器
4.4.1 创建视频保存路径
JumpServer可以对用户的相关操作录像,建议在宿主机上单独创建目录挂载到容器中用于视频的保存。

4.4.2 启动JumpServer容器
启动JumpServer容器时,需要指定MySQL和Redis容器的相关信息以及上一步生成的随机秘钥和token,具体内容如下(2222端口为JumpServer的ssh端口):

4.4.3 验证数据库内容
因笔者是直接将JumpServer容器丢到后台运行,启动时看不到具体过程,正常启动时需要等待一段时间,可放在前台执行看具体效果。等待JumpServer容器正式运行起来,可以登录MySQL容器中的jumpserver数据库,查看到里面多出了很多的表。


4.5 浏览器登录
在JumpServer容器启动完毕,并可通过数据库查看相关表之后,即可通过浏览器进行登录,默认用户名和密码为admin。

登录之后会提示修改登录名和密码,设置完毕返回登录界面重新填写登录名和密码即可进入管理页面。


边栏推荐
- C语言自定义类型 — 枚举
- 再见收费的Navicat!这款开源的数据库管理工具界面更炫酷!
- 0701~ holiday summary
- Internship report 1 - face 3D reconstruction method
- C语言中的字符与字符串库函数的使用以及模拟实现
- new也可以创建对象,为什么需要工厂模式?
- 213. 打家劫舍 II-动态规划
- Polymorphism, abstract class, interface
- Interview assault 66: what is the difference between request forwarding and request redirection?
- Detailed explanation of ansible automatic operation and maintenance (V) the setting and use of variables in ansible, the use of jinja2 template and the encryption control of ansible
猜你喜欢
![[wechat official account H5] authorization](/img/d1/2712f87e134c0b8b8fdeaab9e30492.png)
[wechat official account H5] authorization

Shengxin commonly used analysis graphics drawing 02 -- unlock the essence of volcano map!

Tensorflow introductory tutorial (40) -- acunet

C语言编程训练题目:左旋字符串中的k个字符、小乐乐与欧几里得、打印箭型图案、公务员面试、杨树矩阵

Pay close attention! List of the latest agenda of 2022 open atom open source Summit

SV casts and constants

Development Series III of GaN (lapgan, srgan)

C语言实现静态版本的通讯录

C language custom types - Enumeration

Colleges and universities have introduced 23 Philippine doctors with heavy funds, and the relevant departments have launched an investigation!
随机推荐
Gan Development Series II (pggan, Singan)
High performance complexity analysis of wechat circle of friends
Blackmagic Fusion Studio 18
Image information is displayed by browser: data:image/png; Base64, + image content
Section 7 Data Dictionary: hash followed by Daewoo redis ------- directory post
快速完成intelij idea的单元测试JUnit4设置
ansible自动化运维详解(五)ansible中变量的设定使用、JINJA2模板的使用以及ansible的加密控制
深入解析著名的阿里云Log4j 漏洞
使用matplotlib模拟线性回归
C language programming training topics: K characters in left-handed string, little Lele and Euclidean, printing arrow pattern, civil servant interview, poplar matrix
SSM framework learning
Make good use of these seven tips in code review, and it is easy to establish your opposition alliance
ROC and AUC details of the recommended system
Getaverse, a distant bridge to Web3
C语言中的字符与字符串库函数的使用以及模拟实现
The use and Simulation of character and string library functions in C language
Pay close attention! List of the latest agenda of 2022 open atom open source Summit
Scept: consistent and strategy based trajectory prediction for planned scenarios
0613 ~ self study
Hcip fourth day notes