环境:CentOS7

一、简介

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

JumpServer官网网址为:https://www.jumpserver.org

二、安装 Docker

三、利用 Docker 安装 MySQL

1.创建目录

mkdir -p /docke/mysql/data

jumpserver添加mysql应用 jumpserver搭建_docker

2.运行 MySQL5.7 容器

docker run -d --name mysql --restart=always \
-e MYSQL_ROOT_PASSWORD=password \
-p 3306:3306 \
-v /docker/mysql/data:/var/lib/mysql \
mysql:5.7 --character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

jumpserver添加mysql应用 jumpserver搭建_服务器_02

3.创建 JumpServer 数据库,并授权

docker exec -it mysql /bin/bash  # 进入 MySQL 容器

mysql -u root -ppassword

create database jumpserver default charset 'utf8mb4';
grant all on jumpserver.* to 'jumpserver'@'%' identified by 'password';
flush privileges;
exit

exit

jumpserver添加mysql应用 jumpserver搭建_mysql_03

四、利用 Docker 安装 Redis

1.创建目录

mkdir -p /docker/redis/data

jumpserver添加mysql应用 jumpserver搭建_docker_04

2.运行 Redis 容器

docker run -d -it --name redis -p 6379:6379 \
-v /mnt/redis/data:/data \
--restart=always  \
--sysctl net.core.somaxconn=1024  \
redis:7.0 --requirepass "123456"

jumpserver添加mysql应用 jumpserver搭建_服务器_05

五、生成随机加密密钥

SECRET_KEY 很重要,以后升级或者迁移数据需要用到。

生成随机加密秘钥, 勿外泄,使用 root 身份在服务器上输入。

环境迁移和更新升级请检查 SECRET_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

jumpserver添加mysql应用 jumpserver搭建_jumpserver_06

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搭建_服务器_07

六、运行 JumpServer 容器

1.创建目录,查看宿主机ip

mkdir -p /docker/jumpserver/data

jumpserver添加mysql应用 jumpserver搭建_jumpserver添加mysql应用_08

ip a

jumpserver添加mysql应用 jumpserver搭建_jumpserver添加mysql应用_09

2.运行 JumpServer 容器

docker run -d --name jumpserver -h jumpserver --restart=always  \
-v /docker/jumpserver/data:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=$SECRET_KEY \
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
-e DB_HOST=192.168.66.12 \
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD="password" \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.66.12 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD="123456" \
jumpserver/jms_all:v2.2.3

jumpserver添加mysql应用 jumpserver搭建_docker_10

3.查看 JumpSerrver 日志

docker logs -f jumpserver

jumpserver添加mysql应用 jumpserver搭建_jumpserver添加mysql应用_11

4.访问页面

打开浏览器输入宿主机ip地址:192.168.66.12

用户名:admin
密码:admin

jumpserver添加mysql应用 jumpserver搭建_docker_12

需要修改密码

jumpserver添加mysql应用 jumpserver搭建_jumpserver_13

输入修改好的密码重新登录

jumpserver添加mysql应用 jumpserver搭建_jumpserver添加mysql应用_14

基本使用

普通用户:用来登录jumpserver
资产管理——》管理用户:管理资产和推送资产
资产管理——》系统用户:在jumpserver上登录资产时使用的用户




##### 新加机器

useradd assets
su assets
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
cd ~/.ssh/
vi authorized_keys

##### 登录到jumpserver服务器
cd /data/jumpserver/
cat id_rsa.pub	# 将公钥复制到新机器的authorized_keys文件中


##### 新机器
exit
vim /etc/sudoers
assets   ALL=(ALL)    NOPASSWD:ALL


##### 新机器加完之后需要admin登录去推送和测试



##### 添加数据库应用

1.应用管理——》创建——填写名称、主机、端口、数据库
2.资产管理——》系统用户——创建——名称、用户名(先在mysql中创建)、协议填mysql、密码
3.权限管理——》创建——名称、用户、用户组、数据库应用、系统用户

然后使用用户登录jumpserver,在数据库应用中连接即可




##### jumpserver权限问题

1.不同的用户登录服务器,如何操作zhubaoe这个用户的目录或者进程?
可加sudo操作
2.jenkins登录服务器问题
可预留一个jenkins用户,专门让jenkins使用
3.单点问题(jumpserver服务器可能会宕机)
a.可使用腾讯云web界面登录
b.可用其他平台登录(直接用账号密码登录)



###### jumpserver使用流程

1.先把所有需要的资源加入jumpsever
2.所有资源修改密码
3.给对应人员授权账号
	第一步先加用户
	第二部添加系统用户
	再就是资产授权
4.使用