Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证, 授权, 审计, 自动化运维等功能

主要功能

跳板机:

账户认证;

权限;

记录;操作日志、登录信息,录像

jumpserver 链接内置 mysql jumpserver部署教程_数据库

1.部署数据库

准备2台机器
ubuntu 10.0.0.100 jumpserver
ubuntu 10.0.0.200 redis mysql
两台都要安装docker(二进制安装docker : )
一台jumpserver 一台redis和数据库;

2.mysqld.cnf配置文件

将/etc/mysql/mysql.conf.d/mysqld.cnf的文件拷贝到宿主机
先在宿主机建立一个相同的目录
mkdir -p /etc/mysql/mysql.conf.d/
然后执行
docker cp fba47cb1ad36:/etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf
打开 vim /etc/mysql/mysql.conf.d/mysqld.cnf
在最后一行加上
character-set-server=utf8

3.mysql.cnf配置文件

jumpserver 链接内置 mysql jumpserver部署教程_数据库_02


创建目录mkdir -p /etc/mysql/conf.d/

拷贝到宿主机

docker cp fba47cb1ad36:/etc/mysql/conf.d/mysql.cnf /etc/mysql/conf.d/mysql.cnf

打开vim /etc/mysql/conf.d/mysql.cnf

最后一行加上

default-character-set=utf8

4.创建数据目录

目的;数据保存在宿主机,实现数据与容器分离;当容器异常,重新启动一个容器直接使用宿主机数据,从而保证业务的正常运行;
mkdir /data/mysql -p

5.运行mysql容器

jumpserver 链接内置 mysql jumpserver部署教程_linux_03

其中密码不能为纯数字,否则会报错;
docker run -it -d -p 3306:3306 -v
/etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v
/etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf -v
/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=“magedu.com” mysql:5.6.44

docker ps
docker logs -f 06dfb722f7e0查看数据库是否准备好链接

6.验证数据库

即 jumpserver 服务器访问数据库, 验证数据库编码是否是 utf-8

验证数据库

查看本机

jumpserver 链接内置 mysql jumpserver部署教程_mysql_04


在jumpserver上查看

apt install mysql-client

验证;mysql -uroot -pmagedu.com -h10.10.0.200

jumpserver 链接内置 mysql jumpserver部署教程_运维_05

7.验证数据库编码是不是UTF8

在本机验证;show variables like “%character%”;show variables like “%collation%”;

jumpserver 链接内置 mysql jumpserver部署教程_运维_06

8.创建 jumpserver 数据库

在10.0.0.200上;
create database jumpserver default charset ‘utf8’;
grant all on jumpserver.* to ‘jumpserver’@’%’ identified by ‘magedu.com’;

jumpserver 链接内置 mysql jumpserver部署教程_mysql_07

9.验证数据库权限

mysql -ujumpserver -pmagedu.com -h10.0.0.200

jumpserver 链接内置 mysql jumpserver部署教程_数据库_08


jumpserver 链接内置 mysql jumpserver部署教程_linux_09

10.部署 Redis 服务

docker images

docker run -it -d -p 6379:6379 -v /data/redis:/data redis:4.0.14

jumpserver 链接内置 mysql jumpserver部署教程_linux_10

11.验证 Redis 访问

在jumpserver服务器上安装redis客户端
apt -y install redis
systemctl stop redis-server
systemctl disable redis-server
测试链接: redis-cli -h 10.0.0.200

jumpserver 链接内置 mysql jumpserver部署教程_linux_11

12.部署 jumpserver

打开浏览器 https://hub.docker.com/search?q=jumpserver&type=image
选择jms_all——tags——1.5.9
docker pull jumpserver/jms_all:1.5.9

jumpserver 链接内置 mysql jumpserver部署教程_java_12

13.生成加密秘钥

在10.0.0.200上生成随机加密秘钥和初始化 token

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

jumpserver 链接内置 mysql jumpserver部署教程_linux_13

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

jumpserver 链接内置 mysql jumpserver部署教程_运维_14

14.建 Jumpserver 容器

在10.0.0.100上建 Jumpserver 容器

docker run --name jms_all \
-v /opt/jumpserver:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=v0g6acwzQFraPixtK5WRyGI8zL2uYyI3KoIyqR9uy4wNkH3GlD \
-e BOOTSTRAP_TOKEN=Tvl8VA9GdzbBA318 \
-e DB_HOST=10.0.0.200 \
-e DB_PORT=3306 \
-e DB_USER='jumpserver' \
-e DB_PASSWORD="magedu.com" \
-e DB_NAME=jumpserver \
-e REDIS_HOST=10.0.0.200 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD= \
jumpserver/jms_all:1.5.9

jumpserver 链接内置 mysql jumpserver部署教程_mysql_15

启动完成

jumpserver 链接内置 mysql jumpserver部署教程_java_16

15.验证数据库内容

在10.0.0.200上 验证

jumpserver 链接内置 mysql jumpserver部署教程_java_17

16.jumpserver 使用

浏览器访问10.0.0.100 默认账号密码都是admin

jumpserver 链接内置 mysql jumpserver部署教程_linux_18

17.用户和组管理

用户管理–用户列表界面, 管理创建用户, 用户相当于是公司的运维人员,这里的用户就是 开发、测试和运维想要登录;
如果用户较多,需要先创建用户组

jumpserver 链接内置 mysql jumpserver部署教程_运维_19

创建用户

jumpserver 链接内置 mysql jumpserver部署教程_java_20

jumpserver 链接内置 mysql jumpserver部署教程_数据库_21

18.资产管理

18.1.创建管理用户

资产管理–系统用户界面, 创建管理用户, 该管理用户用于 jumpserver 登陆服务

器统计资产信息以及推送系统用户的时候使用, 所以此用户一定是一个可以登录

的具备超级权限的用户(如后端服务器的 root 账户或者具有 root 权限的其他用

户)。创建管理用户:

jumpserver 链接内置 mysql jumpserver部署教程_运维_22


18.2创建系统账户

系统用户是 JumpServer 跳转登录资产时使用的用户,可以理解为登录资产用户,如 web,sa,dba(ssh web@some-host),而不是使用某个用户的用户名跳转登录服务器(ssh xiaoming@some-host); 简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录资产。 系统用户创建时,如果选择了自动推送,JumpServer 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机)不支持 Ansible,请手动填写账号密码。

jumpserver 链接内置 mysql jumpserver部署教程_linux_23


18.3创建资产

单个资产创建

jumpserver 链接内置 mysql jumpserver部署教程_mysql_24


jumpserver 链接内置 mysql jumpserver部署教程_linux_25

批量创建资产

批量导入资产;
如果服务器比较多 可以批量导入,操作方法,选择导出表格,填入服务器信息后,再导入

jumpserver 链接内置 mysql jumpserver部署教程_mysql_26

19.测试浏览器登陆

http://10.0.0.100/users/profile/">http://10.0.0.100/users/profile/ 分别登录之前设置的账号

jumpserver 链接内置 mysql jumpserver部署教程_linux_27

jumpserver 链接内置 mysql jumpserver部署教程_数据库_28

20.资产授权

创建资产授权规则

jumpserver 链接内置 mysql jumpserver部署教程_java_29

jumpserver 链接内置 mysql jumpserver部署教程_linux_30

jumpserver 链接内置 mysql jumpserver部署教程_mysql_31

21.测试 jumpserver 普通用户权限

查看用户资产状态

jumpserver 链接内置 mysql jumpserver部署教程_mysql_32

远程登录管理资产

打开web

jumpserver 链接内置 mysql jumpserver部署教程_数据库_33

jumpserver 链接内置 mysql jumpserver部署教程_数据库_34

22.强制推送系统账户

jumpserver 链接内置 mysql jumpserver部署教程_java_35

23.资产分组

使用 admin 将资产分为不同的组, 新建一个 MySQL 一个 Web 组, 然后将服务器10.0.0.77和10.0.0.101 添加到不同的组, 在授权给 mali, 最后验证 web 终端状态

jumpserver 链接内置 mysql jumpserver部署教程_数据库_36

将服务器添加到不同的组

jumpserver 链接内置 mysql jumpserver部署教程_java_37

web 终端验证

jumpserver 链接内置 mysql jumpserver部署教程_数据库_38

jumpserver 链接内置 mysql jumpserver部署教程_linux_39

24.会话管理

会话管理-命令记录、 历史会话里面可以看到用户操作过并且已经退出的录像记录。使用 jumpserver 普通账户登录, 并测试后端服务器的连接与使用

jumpserver 链接内置 mysql jumpserver部署教程_java_40

25.命令过滤

基于安全考虑, 禁止某些用户执行指定的命令, 如 rm、 reboot、 poweroff 等命令

jumpserver 链接内置 mysql jumpserver部署教程_运维_41

jumpserver 链接内置 mysql jumpserver部署教程_java_42


jumpserver 链接内置 mysql jumpserver部署教程_linux_43


jumpserver 链接内置 mysql jumpserver部署教程_数据库_44


jumpserver 链接内置 mysql jumpserver部署教程_mysql_45


jumpserver 链接内置 mysql jumpserver部署教程_linux_46


jumpserver 链接内置 mysql jumpserver部署教程_mysql_47

操作完毕