关于跳板机/堡垒机的介绍:

跳板机可以使开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作

跳板机使用场景:

在这里插入图片描述

jumpserver概述

Jumpserver是一款开源的开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具

常见支持的系统:

CentOS, RedHat, Fedora, Amazon Linux
Debian
SUSE, Ubuntu
FreeBSD
其他ssh协议硬件设备

部署步骤

实验环境
Tips:该实验需要虚拟机接入互联网,使虚拟机上网可看我的另一个文章

关闭selinux

1
[root@centos7 ~]#setenforce 0

关闭防火墙

1
2
[root@centos7 ~]#systemctl stop firewalld
[root@centos7 ~]#iptables -F
安装docker的源
1
2
3
4
5
[root@centos7 ~]#yum -y install wget
[root@centos7 ~]#cd /etc/yum.repos.d/
[root@centos7 ~]#wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@centos7 ~]#wget http://mirrors.aliyun.com/repo/Centos-7.repo
[root@centos7 ~]#yum -y install centos-release-openstack-ocata
配置mariadb

安装mariadb

1
[root@centos7 ~]#yum -y install mariadb-server

修改配置文件

1
2
3
4
5
6
7
8
9
10
[root@centos7 ~]#vim /etc/my.cnf
[client-server]

[mysqld]

symbolic-links=0
#禁止主机名解析
skip_name_resolve

!includedir /etc/my.cnf.d

启动服务

1
2
[root@centos7 ~]#systemctl start mariadb
[root@centos7 ~]#systemctl enable mariadb

创建jumpserver数据库并授权

1
2
3
4
[root@centos7 ~]#mysql
MariaDB [(none)]> create database jumpserver default charset 'utf8';
#创建管理账号,密码必须是数字加字母
MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'ywz0207.';
配置Redis

安装Redis

1
2
[root@centos7 ~]#yum install epel-release
[root@centos7 ~]#yum -y install redis

编辑配置文件

1
2
3
[root@centos7 ~]#vim /etc/redis.conf 
61:bind 0.0.0.0
480:requirepass 123

启动服务

1
2
[root@centos7 ~]#systemctl start redis
[root@centos7 ~]#systemctl enable redis
配置docker

安装docker

1
[root@centos7 ~]#yum -y install docker-ce

启动docker

1
2
[root@centos7 ~]#systemctl start docker
[root@centos7 ~]#systemctl enable docker

下载jumpserver镜像,并运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@centos7 ~]#docker run --name jms_all -d \
-v /opt/mysql:/var/lib/mysql \
-v /opt/jumpserver:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=PEHVdLzvZFtDQT733ntHDH1hglXQ9OQKoI1xxAfdDhpRGx3tg7 \
-e BOOTSTRAP_TOKEN=YDzl55tZPTdclbUh \
-e DB_HOST=192.168.10.101 \ #当前主机IP
-e DB_PORT=3306 \
-e DB_USER=jumpserver \ #数据库用户
-e DB_PASSWORD=ywz0207. \ #数据库密码
-e DB_NAME=jumpserver \ #数据库名称
-e REDIS_HOST=192.168.10.101 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=123 \ #Redis密码
jumpserver/jms_all:1.4.8

查看状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@centos7 ~]#docker logs -f jms_all
#看到如下几行即可
gunicorn is running: 57
celery is running: 73
beat is running: 75
guacd[98]: INFO: Guacamole proxy daemon (guacd) version 0.9.14 started
Starting guacd: SUCCESS
Tomcat started.
Use eventlet dispatch
Start coco process
Use eventlet dispatch
Start coco process
Use eventlet dispatch
Start coco process
Jumpserver ALL 1.4.8
官网 http://www.jumpserver.org
文档 http://docs.jumpserver.org
有问题请参考 http://docs.jumpserver.org/zh/docs/faq.html

进入容器命令

1
docker exec -it jms_all /bin/bash

访问测试
登入web界面,初始密码账号均为admin

在这里插入图片描述

后续主机列表配置,策略,用户策略等相关截图过多,自己琢磨吧。网上有相关文档可参考