docker部署jumpserver

1. jump server介绍

JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。
JumpServer 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。
JumpServer 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。
改变世界, 从一点点开始。

为什么使用jumpserver
  • 开源: 零门槛,线上快速获取和安装; 分布式: 轻松支持大规模并发访问;
  • 无插件: 仅需浏览器,极致的 Web Terminal
  • 使用体验; 多云支持: 一套系统,同时管理不同云上面的资产;
  • 云端存储: 审计录像云端存储,永不丢失;
  • 多租户:一套系统,多个子公司和部门同时使用; 多应用支持: 数据库,Windows远程应用,Kubernetes。

2. 使用docker部署jump server

2.1 环境准备
主机名配置ip地址安装软件
jumpserver2C4G192.168.48.152docker
linux-svr1C2G192.168.48.151ssh
win7-rdp2C4G192.168.48.134rdp

jumpserver为安装堡垒机的机器,linux-svr为堡垒机接管的linux节点,win为windows系统的接管节点。后面验证使用

2.2 安装docker
~]# yum install -y docker
Installed:
  docker.x86_64 2:1.13.1-203.git0be3e21.el7.centos                                                                                                                                                                                                                            

Dependency Installed:
  PyYAML.x86_64 0:3.10-11.el7                                                 atomic-registries.x86_64 1:1.22.1-33.gitb507039.el7_8           audit-libs-python.x86_64 0:2.8.5-4.el7                            checkpolicy.x86_64 0:2.5-8.el7                                
  container-selinux.noarch 2:2.119.2-1.911c772.el7_8                          container-storage-setup.noarch 0:0.11.0-2.git5eaf76c.el7        containers-common.x86_64 1:0.1.40-11.el7_8                        docker-client.x86_64 2:1.13.1-203.git0be3e21.el7.centos       
  docker-common.x86_64 2:1.13.1-203.git0be3e21.el7.centos                     fuse-overlayfs.x86_64 0:0.7.2-6.el7_8                           fuse3-libs.x86_64 0:3.6.1-4.el7                                   libcgroup.x86_64 0:0.41-21.el7                                
  libnl.x86_64 0:1.1.4-3.el7                                                  libsemanage-python.x86_64 0:2.5-14.el7                          libxml2-python.x86_64 0:2.9.1-6.el7.5                             libyaml.x86_64 0:0.1.4-11.el7_0                               
  oci-register-machine.x86_64 1:0-6.git2b44233.el7                            oci-systemd-hook.x86_64 1:0.2.0-1.git05e6923.el7_6              oci-umount.x86_64 2:2.5-3.el7                                     policycoreutils-python.x86_64 0:2.5-34.el7                    
  python-IPy.noarch 0:0.75-6.el7                                              python-backports.x86_64 0:1.0-8.el7                             python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7        python-dateutil.noarch 0:1.5-7.el7                            
  python-dmidecode.x86_64 0:3.12.2-4.el7                                      python-ethtool.x86_64 0:0.8-8.el7                               python-inotify.noarch 0:0.9.4-4.el7                               python-ipaddress.noarch 0:1.0.16-2.el7                        
  python-pytoml.noarch 0:0.1.14-1.git7dea353.el7                              python-setuptools.noarch 0:0.9.8-7.el7                          python-six.noarch 0:1.9.0-2.el7                                   python-syspurpose.x86_64 0:1.24.45-1.el7.centos               
  setools-libs.x86_64 0:3.3.8-4.el7                                           slirp4netns.x86_64 0:0.4.3-4.el7_8                              subscription-manager.x86_64 0:1.24.45-1.el7.centos                subscription-manager-rhsm.x86_64 0:1.24.45-1.el7.centos       
  subscription-manager-rhsm-certificates.x86_64 0:1.24.45-1.el7.centos        usermode.x86_64 0:1.111-6.el7                                   yajl.x86_64 0:2.0.4-4.el7                                        

Dependency Updated:
  audit.x86_64 0:2.8.5-4.el7                      audit-libs.x86_64 0:2.8.5-4.el7                      libxml2.x86_64 0:2.9.1-6.el7.5                      libxml2-devel.x86_64 0:2.9.1-6.el7.5                      policycoreutils.x86_64 0:2.5-34.el7                     

Complete!
~]# 

~]# systemctl start docker
~]# systemctl enable docker

安装docker步骤很简单,使用默认的docker版本就可以

配置阿里云加速器

docker默认docker pull的速度不是很可观,所以配置一下阿里云的加速器,配置方法如下

]# cat /etc/docker/daemon.json 

{
    "registry-mirrors": ["https://fq687fwp.mirror.aliyuncs.com"]
}

]# systemctl daemon-reload 
]# systemctl restart docker
]# docker pull centos:7.6.1810
Trying to pull repository docker.io/library/centos ... 
7.6.1810: Pulling from docker.io/library/centos
ac9208207ada: Pull complete 
Digest: sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6
Status: Downloaded newer image for docker.io/centos:7.6.1810

到这里docker就算是安装完成了

2.3 安装mysql5.7

jumpserver使用的数据库是mysql5.7,我们这里就选用mysql5.7版本,安装其他版本可以能会报错,我安装了最新的mariadb就报了数据库要选择mysql5.7+的版本的错误
使用docker安装步骤如下:

~]# mkdir -p /data/mysql/data
~]# docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=abcd@1234  -p 3306:3306 -v /data/mysql/data:/var/lib/mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
3453d20feed2        mysql:5.7           "docker-entrypoint..."   16 seconds ago      Up 15 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

创建jumpserver数据库
~]# docker exec -it mysql /bin/bash
/# mysql -uroot -pabcd@1234
mysql> create database jumpserver default charset 'utf8mb4';
mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'abcd@1234';
mysql> flush privileges;
mysql> exit
/# mysql -ujumpserver -pabcd@1234
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| jumpserver         |
+--------------------+
2 rows in set (0.00 sec)

jumpserver数据库这块已经准备完成

2.4 安装redis

redis是jumpserver存储会话信息的,安装的是redis4.0.10版本,安装很简单
安装步骤如下:

~]# mkdir -p /data/redis/data
~]# docker run -d -it --name redis -p 6379:6379 -v /data/redis/data:/data --restart=always  --sysctl net.core.somaxconn=1024  redis:4.0.10 --requirepass "abcd@1234"
~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
71840c9b0f6f        redis:4.0.10        "docker-entrypoint..."   6 minutes ago       Up 6 minutes        0.0.0.0:6379->6379/tcp              redis
3453d20feed2        mysql:5.7           "docker-entrypoint..."   5 hours ago         Up 5 hours          0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

2.5 安装jumpserver

jumpserver相关文档请参考:https://docs.jumpserver.org
不做过多的介绍

Jumpserver 封装了一个 All in one Docker, 可以快速启动。该镜像集成了所需要的组件, 支持使用外置 Database 和 Redis

生成密钥
~]# 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
fiWE7DI5hyVYznyX4XQlzwJm46K9NgHkPcUCIF01NDSudKfJKN4J
~]# 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
co6QU93I0RXj3Cy1

安装jumpserver
]# mkdir -p /data/jumpserver
~]# docker run -d --name jumpserver -h jumpserver --restart=always  \
     -v /data/jumpserver:/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.48.152 \
     -e DB_PORT=3306 \
     -e DB_USER=jumpserver \
     -e DB_PASSWORD="abcd@1234" \
     -e DB_NAME=jumpserver \
     -e REDIS_HOST=192.168.48.152 \
     -e REDIS_PORT=6379 \
     -e REDIS_PASSWORD="abcd@1234" \
 jumpserver/jms_all:v2.5.0

在这里插入图片描述
在这里插入图片描述

默认密码是admin/admin,登陆后直接修改密码
jumpserver算是安装完成了,接下来就是验证功能了

3. 验证jumpserver功能
添加资产节点

在这里插入图片描述
给资产添加个节点目录,就相当于把资产分配到某个部门或者是个人名下

添加管理用户

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228111157435.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzAyMzg2OA==,size_16,color_FFFFFF,t_70

这个管理用户是用于连接节点用的用户名密码

添加系统用户

在这里插入图片描述
在这里插入图片描述
系统用户是用于web控制台和sftp文件传输使用的用户密码密码信息,其中还包括了命令过滤等

添加资产信息

在这里插入图片描述
测试添加windows资产,linux也是同样的方法添加,选择管理用户是登录用户

资产授权

在这里插入图片描述
在这里插入图片描述

web 终端登录

在这里插入图片描述
登录成功,完美
linux也是用同样的方法登录
在这里插入图片描述
jumpserver还有很多的使用方法,想了解更多请参考官网:https://docs.jumpserver.org

参考文档:https://blog.csdn.net/shykevin/article/details/103987660

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值