堡垒机搭建——jumpserver

  • 前言
  • 一、介绍
  • 1.1、架构图
  • 1.2、端口说明
  • 二、安装
  • 1、安装脚本执行过程:
  • 2、启动jumpserver环境
  • 3、总结:
  • 三、使用过程
  • 1、添加邮箱
  • 2、创建用户
  • 3、添加资产
  • 3.1、三个用户
  • 4、创建系统用户
  • 5、资源授权
  • 6、ssh访问


前言

之前在工作中自己手动搭建过堡垒机,那时候是因为维护的环境硬盘资源有限,经常被测试人员上传的“大数据包”撑爆,导致系统无法正常登录或者是命令无法正常执行,而且他们传包用完是不自己删除的,这导致我清理的时候畏手畏脚的,有的时候一刀切将三十天之内没有使用的文件都删除了之后,就会有“同事”过来找你了,“为啥删了我的数据,我们还要用,云云!!!”,被喷的多了我也不耐烦了,直接独立给他们搭建了一个Ubuntu操作系统的KVM虚机,分给他们使用,和其他环境分开了,自己玩坏了自己删,

最近回顾堡垒机的知识点,发现有个开源的软件jumpserver,感兴趣,安装下玩玩。

一、介绍

首先上官方文档:jumpserver官方中文文档

本文内容都是从官方文档中获取,一切以官方文档为主。

JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议,也就是说是免费的,JumpServer 使用 Python / Django 语言进行开发, JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。

1.1、架构图

先来一张jumpserver架构图,

  • 首先前端是nginx提供的动态页面,可以通过浏览器来进行访问;
  • 接着jumpserver为管理后台,管理员可以通过web页面进行资产管理、用户管理、资产授权等操作,用户可以通过web页面进行资产登录、文件管理等操作;
  • coco 为ssh server和 web terminal server,用户可以使用自己的账户通过ssh或者web terminal访问ssh协议和telnet协议资产;
  • Luna 为web terminal server前端页面,用户使用web terminal方式登录所需要的组件;
  • Guacamole 为RDP协议和vnc协议资产组件,用户可以通过web terminal来连接RDP协议和vnc协议资产(暂时只能通过web terminal来访问);

堡垒机可以连接mysql 堡垒机搭建_docker

1.2、端口说明

Jumpserver 默认端口为 8080/tcp
Coco 默认 SSH 端口为 2222/tcp, 默认 Web Terminal 端口为 5000/tcp 
Guacamole 默认端口为 8081/tcp, 
Nginx 默认端口为 80/tcp
Redis 默认端口为 6379/tcp
Mysql 默认端口为 3306/tcp

二、安装

安装文档:极速部署

官方文档提供了两种方法部署jumpserver,

  • 极速部署就是执行一个脚本来部署环境,这种方式需要相对应的网络带宽和足够的资源,虚机的配置内存最少8G+CPU最少2个。
  • 负载均衡方式就是准备两台机器分别部署jumpserver,失败;【启动容器的时候提示状态为unhealthy非健康的】

——》我这里使用的是极速部署,直接一个脚本我完事;

堡垒机可以连接mysql 堡垒机搭建_运维_02


环境介绍:

  • centos7.4操作系统 2G内存 CPU 1个
  • yum源为本地ISO镜像做成的本地源
  • 虚机可以联网【最好使用wife,手机无线网速是不够的】
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.6.1/quick_start.sh | sh

极速部署的时候对虚机的资源要求为:内存8G+CPU 2个

堡垒机可以连接mysql 堡垒机搭建_docker_03


手动调整虚机的内存和CPU个数,

堡垒机可以连接mysql 堡垒机搭建_linux_04

1、安装脚本执行过程:

  1. 检查硬件资源,用户、系统、CPU个数、内存都是OK;
  2. 安装wget软件用来将网上的安装脚本下载到本地;
  3. 下载安装脚本并通过sh进行执行;
    3.1. 脚本执行内容检查配置文件、配置nginx证书、备份jumpserver配置文件、不配置ipv6网络、自动生成加密秘钥、配置docker持久化目录、不使用外置mysql、不使用外置Redis;
  4. 安装docker,下载压缩包和docker-compose;
    4.1. 配置docker指定存储目录;
    4.2.启动docker
  5. 下载容器镜像
    5.1. [jumpserver/redis:6-alpine]
    5.2. [jumpserver/mysql:5]
    5.3. [jumpserver/nginx:alpine2]
    5.4. [jumpserver/luna:v2.6.1]
    5.5. [jumpserver/core:v2.6.1]
    5.6. [jumpserver/koko:v2.6.1]
    5.7. [jumpserver/guacamole:v2.6.1]
    5.8. [jumpserver/lina:v2.6.1]
[root@vlinx144011 ~]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=54 time=6.69 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=54 time=5.69 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=54 time=5.47 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 5.470/5.951/6.694/0.540 ms
[root@vlinx144011 ~]# 
[root@vlinx144011 ~]# 
[root@vlinx144011 ~]# 
[root@vlinx144011 ~]# curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.6.1/quick_start.sh | sh
User    Check 	........................ [ OK ]
OS      Check 	........................ [ OK ]
CPU     Check 	........................ [ OK ]
Memory  Check 	........................ [ OK ]
Loaded plugins: fastestmirror
rhel                                                                   | 3.6 kB  00:00:00     
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-15.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================
 Package            Arch                 Version                     Repository          Size
==============================================================================================
Installing:
 wget               x86_64               1.14-15.el7                 rhel               547 k

Transaction Summary
==============================================================================================
Install  1 Package

Total download size: 547 k
Installed size: 2.0 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : wget-1.14-15.el7.x86_64                                                    1/1 
  Verifying  : wget-1.14-15.el7.x86_64                                                    1/1 

Installed:
  wget.x86_64 0:1.14-15.el7                                                                   

Complete!
--2020-12-31 17:23:54--  https://github.com/jumpserver/installer/releases/download/v2.6.1/jumpserver-installer-v2.6.1.tar.gz
Resolving github.com (github.com)... 13.250.177.223
Connecting to github.com (github.com)|13.250.177.223|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/303679235/66d0dd00-4379-11eb-8ade-ead773c9f5a1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201231%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201231T092348Z&X-Amz-Expires=300&X-Amz-Signature=3a9685271b64e4774870e68301487b1a32e039e75ae3be24efb28bcf7841e990&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=303679235&response-content-disposition=attachment%3B%20filename%3Djumpserver-installer-v2.6.1.tar.gz&response-content-type=application%2Foctet-stream [following]
--2020-12-31 17:23:55--  https://github-production-release-asset-2e65be.s3.amazonaws.com/303679235/66d0dd00-4379-11eb-8ade-ead773c9f5a1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201231%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201231T092348Z&X-Amz-Expires=300&X-Amz-Signature=3a9685271b64e4774870e68301487b1a32e039e75ae3be24efb28bcf7841e990&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=303679235&response-content-disposition=attachment%3B%20filename%3Djumpserver-installer-v2.6.1.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.39.156
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.39.156|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22228 (22K) [application/octet-stream]
Saving to: ‘jumpserver-installer-v2.6.1.tar.gz’

100%[====================================================>] 22,228      44.4KB/s   in 0.5s   

2020-12-31 17:23:57 (44.4 KB/s) - ‘jumpserver-installer-v2.6.1.tar.gz’ saved [22228/22228]


 JumpServer 部署脚本已经下载至 /opt/jumpserver-installer-v2.6.1 目录 
 


       ██╗██╗   ██╗███╗   ███╗██████╗ ███████╗███████╗██████╗ ██╗   ██╗███████╗██████╗
       ██║██║   ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔════╝██╔══██╗
       ██║██║   ██║██╔████╔██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║█████╗  ██████╔╝
  ██   ██║██║   ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══╝  ██╔══██╗
  ╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║     ███████║███████╗██║  ██║ ╚████╔╝ ███████╗██║  ██║
  ╚════╝  ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

								   Version:  v2.6.1  



>>> 一、配置JumpServer
1. 检查配置文件
各组件使用环境变量式配置文件,而不是 yaml 格式, 配置名称与之前保持一致
配置文件位置: /opt/jumpserver/config/config.txt
完成

2. 配置 Nginx 证书
证书位置在: /opt/jumpserver/config/nginx/cert
完成

3. 备份配置文件
备份至 /opt/jumpserver/config/backup/config.txt.2020-12-31_17-24-05
完成

4. 配置网络
需要支持 IPv6 吗? (y/n)  (默认为n): 完成

5. 自动生成加密密钥
完成

6. 配置持久化目录 
修改日志录像等持久化的目录,可以找个最大的磁盘,并创建目录,如 /opt/jumpserver
注意: 安装完后不能再更改, 否则数据库可能丢失

Filesystem               Size  Used Avail Use% Mounted on
/dev/sr0                 8.1G  8.1G     0 100% /mnt/iso
/dev/sda1                197M  121M   77M  62% /boot

设置持久化卷存储目录 (默认为/opt/jumpserver): 完成

7. 配置MySQL
是否使用外部mysql (y/n)  (默认为n): 完成

8. 配置Redis
是否使用外部redis  (y/n)  (默认为n): 完成

>>> 二、安装配置Docker
1. 安装Docker
开始下载 Docker 程序 ...
--2020-12-31 17:24:08--  https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-18.06.2-ce.tgz
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 106.117.243.219, 106.117.243.222, 27.128.214.226, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|106.117.243.219|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 43834194 (42M) [application/x-tar]
Saving to: ‘/tmp/docker.tar.gz’

100%[====================================================>] 43,834,194  17.5MB/s   in 2.4s   

2020-12-31 17:24:11 (17.5 MB/s) - ‘/tmp/docker.tar.gz’ saved [43834194/43834194]

开始下载 Docker compose 程序 ...
--2020-12-31 17:24:13--  https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
Resolving get.daocloud.io (get.daocloud.io)... 106.75.86.15
Connecting to get.daocloud.io (get.daocloud.io)|106.75.86.15|:443... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64 [following]
--2020-12-31 17:24:16--  https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
Resolving dn-dao-github-mirror.daocloud.io (dn-dao-github-mirror.daocloud.io)... 27.128.222.239, 42.81.58.243, 27.128.222.242, ...
Connecting to dn-dao-github-mirror.daocloud.io (dn-dao-github-mirror.daocloud.io)|27.128.222.239|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12218968 (12M) [application/x-executable]
Saving to: ‘/tmp/docker-compose’

100%[====================================================>] 12,218,968  14.3MB/s   in 0.8s   

2020-12-31 17:24:17 (14.3 MB/s) - ‘/tmp/docker-compose’ saved [12218968/12218968]

完成

2. 配置Docker
修改Docker镜像容器的默认存储目录,可以找个最大的磁盘, 并创建目录,如 /opt/docker
Filesystem               Size  Used Avail Use% Mounted on
/dev/sr0                 8.1G  8.1G     0 100% /mnt/iso
/dev/sda1                197M  121M   77M  62% /boot

Docker存储目录 (默认为/opt/docker): 完成

3. 启动Docker
Docker 版本发生改变 或 docker配置文件发生变化,是否要重启 (y/n)  (默认为y): 完成

>>> 三、加载镜像
[jumpserver/redis:6-alpine]
6-alpine: Pulling from jumpserver/redis
05e7bc50f07f: Pull complete 
14c9d57a1c7f: Pull complete 
ccd033d7ec06: Pull complete 
6ff79b059f99: Pull complete 
d91237314b77: Pull complete 
c47d41ba6aa8: Pull complete 
Digest: sha256:4920debee18fad71841ce101a7867743ff8fe7d47e6191b750c3edcfffc1cb18
Status: Downloaded newer image for jumpserver/redis:6-alpine

[jumpserver/mysql:5]
5: Pulling from jumpserver/mysql
6ec7b7d162b2: Pull complete 
fedd960d3481: Pull complete 
7ab947313861: Pull complete 
64f92f19e638: Pull complete 
3e80b17bff96: Pull complete 
014e976799f9: Pull complete 
59ae84fee1b3: Pull complete 
7d1da2a18e2e: Pull complete 
301a28b700b9: Pull complete 
979b389fc71f: Pull complete 
403f729b1bad: Pull complete 
Digest: sha256:b3b2703de646600b008cbb2de36b70b21e51e7e93a7fca450d2b08151658b2dd
Status: Downloaded newer image for jumpserver/mysql:5

[jumpserver/nginx:alpine2]
alpine2: Pulling from jumpserver/nginx
c87736221ed0: Pull complete 
6ff0ab02fe54: Pull complete 
e5b318df7728: Pull complete 
b7a5a4fe8726: Pull complete 
Digest: sha256:d25ed0a8c1b4957f918555c0dbda9d71695d7b336d24f7017a87b2081baf1112
Status: Downloaded newer image for jumpserver/nginx:alpine2

[jumpserver/luna:v2.6.1]
v2.6.1: Pulling from jumpserver/luna
801bfaa63ef2: Pull complete 
b1242e25d284: Pull complete 
7453d3e6b909: Pull complete 
07ce7418c4f8: Pull complete 
e295e0624aa3: Pull complete 
9aa19406fcc2: Pull complete 
b88c1894aa70: Pull complete 
Digest: sha256:6889bc5825c8b608d3d086fa6713da5098665d9caaa6de0d2de2e30f27246fa4
Status: Downloaded newer image for jumpserver/luna:v2.6.1

[jumpserver/core:v2.6.1]
v2.6.1: Pulling from jumpserver/core
852e50cd189d: Pull complete 
334ed303e4ad: Pull complete 
a687a65725ea: Pull complete 
fe607cb30fbe: Pull complete 
af3dd7a5d357: Pull complete 
5ed087772967: Pull complete 
de88310b192c: Pull complete 
3f3c40cb5584: Pull complete 
a616053790d8: Pull complete 
f78e4ffd4b11: Pull complete 
681df5236765: Pull complete 
6feeeb96a348: Pull complete 
8b170624587e: Pull complete 
Digest: sha256:1332e03847e45f1995845e1b74f1f3deb1f108da72ac5b8af087bc3775690e7b
Status: Downloaded newer image for jumpserver/core:v2.6.1

[jumpserver/koko:v2.6.1]
v2.6.1: Pulling from jumpserver/koko
6d28e14ab8c8: Pull complete 
c4b1524d2f75: Pull complete 
8522e19e2998: Pull complete 
106d5adca780: Pull complete 
e649208988b3: Pull complete 
fd02488ce54c: Pull complete 
8566396c9588: Pull complete 
5c3ae6b36882: Pull complete 
cb4e3aeda111: Pull complete 
3bc46e9d6be9: Pull complete 
919620ef3747: Pull complete 
3998a9375e49: Pull complete 
5869987766aa: Pull complete 
9fd39a172e25: Pull complete 
f60bfb937cc4: Pull complete 
Digest: sha256:242e96c7a992bf44ccbda321fb69c8ea4d39d5ff423cf8f1505e9856b1ac2496
Status: Downloaded newer image for jumpserver/koko:v2.6.1

[jumpserver/guacamole:v2.6.1]
v2.6.1: Pulling from jumpserver/guacamole
c5e155d5a1d1: Pull complete 
221d80d00ae9: Pull complete 
4250b3117dca: Pull complete 
d1370422ab93: Pull complete 
deb6b03222ca: Pull complete 
9cdea8d70cc3: Pull complete 
968505be14db: Pull complete 
04b5c270ac81: Pull complete 
301d76fcab1f: Pull complete 
f4d49608235a: Pull complete 
f4c6404fd6f8: Pull complete 
73ac8e900d64: Pull complete 
eec0a1010dfa: Pull complete 
199219e1bcf7: Pull complete 
54d3328751a0: Pull complete 
68412973433c: Pull complete 
b45d84968434: Pull complete 
9569df8016cc: Pull complete 
642448bde40a: Pull complete 
e788dd92de90: Pull complete 
223eaf2bd9f6: Pull complete 
b68966fc02ad: Pull complete 
cf0eb6b2e415: Pull complete 
0b78188a975b: Pull complete 
704b69b91dcb: Pull complete 
Digest: sha256:cb80c430c14ad220edd6f20855da5f7ea256d75f5f87bebe29d7e27275c4beeb
Status: Downloaded newer image for jumpserver/guacamole:v2.6.1

[jumpserver/lina:v2.6.1]
v2.6.1: Pulling from jumpserver/lina
801bfaa63ef2: Already exists 
b1242e25d284: Already exists 
7453d3e6b909: Already exists 
07ce7418c4f8: Already exists 
e295e0624aa3: Already exists 
2ec572beb6c1: Pull complete 
c7d22dce32ca: Pull complete 
Digest: sha256:8d63a0716558b4384f0eab2220bcfefe5ba2e040cbd33634576ba444c215212a
Status: Downloaded newer image for jumpserver/lina:v2.6.1


>>> 四、安装完成了
1. 可以使用如下命令启动, 然后访问
./jmsctl.sh start

2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
更多还有一些命令,你可以 ./jmsctl.sh --help来了解

3. 访问 Web 后台页面
http://192.168.1.9:8080
https://192.168.1.9:8443

4. ssh/sftp 访问
ssh admin@192.168.1.9 -p2222
sftp -P2222 admin@192.168.1.9

5. 更多信息
我们的文档: https://docs.jumpserver.org/
我们的官网: https://www.jumpserver.org/

执行完安装脚本我们可以进去查看下下载好的安装镜像

堡垒机可以连接mysql 堡垒机搭建_github_05

2、启动jumpserver环境

执行完安装脚本我们已经将jumpserver所需要的环境都准备好了,容器的镜像也已经下载好了,接下来我们就需要进行启动就是通过脚本将镜像启动为容器同时对外发布端口号,这个步骤也是可以通过脚本来执行的

[root@vlinx144011 ~]# cd /opt/jumpserver-installer-v2.6.1/
[root@vlinx144011 jumpserver-installer-v2.6.1]# 
[root@vlinx144011 jumpserver-installer-v2.6.1]# 
[root@vlinx144011 jumpserver-installer-v2.6.1]# ./jmsctl.sh start
Creating network "jms_net" with driver "bridge"
Creating jms_redis ... done
Creating jms_mysql ... done
Creating jms_core  ... done
Creating jms_celery    ... done
Creating jms_lina      ... done
Creating jms_koko      ... done
Creating jms_guacamole ... done
Creating jms_luna      ... done
Creating jms_nginx     ... done
[root@vlinx144011 jumpserver-installer-v2.6.1]#

执行完脚本之后我们可以查看下启动的容器有哪些,都发布了哪些端口,

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_06


或者是直接查看下系统对外发布了哪些端口了,这里需要注意的就是两个,

  • 8080端口,浏览器访问的端口
  • 2222端口,通过ssh连接的时候使用的端口

现在我们就可以通过IP:8080来访问到jumpserver的页面了,

http://192.168.144.11:8080

第一次登录的时候我们是需要修改密码的,我修改成了——》weakPassword

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_07


进入之后就是这个页面了,直接看到的就是仪表盘界面,

堡垒机可以连接mysql 堡垒机搭建_运维_08

3、总结:

到登录到jumpserver页面我们就已经安装成功了,为了看到实验现象安装过程就没有一个节点一个节点的部署,直接使用官方提供的安装脚本来进行部署了,只是根据脚本执行过程分步的了解了下脚本都执行了什么,因为不是要直接使用到工作环境中的所以这样安装也是可以的。

三、使用过程

首先上文档:官方使用文档

使用过程全部都是根据官方文档来进行操作,如果不解可以去查看官方文档,一切以官方文档为主。

1、添加邮箱

使用过程第一步就是添加邮箱,我这里使用的是我们的工作邮箱163,需要通过网页将163邮箱的SMTP功能启动,然后新增授权码,然后获取到163邮箱SMTP服务器的地址,

堡垒机可以连接mysql 堡垒机搭建_docker_09


设置邮箱,系统设置——》邮件设置——》基本信息——》填写内容——》提交

PS:也可以在这个页面点击测试连接然后邮箱中就可以收到邮件

堡垒机可以连接mysql 堡垒机搭建_docker_10


附上官网文档解释

堡垒机可以连接mysql 堡垒机搭建_linux_11

查看测试邮件

PS:因为我们使用的SMTP服务器就是本身的163邮箱所以发送测试邮件的时候就是自己发送给自己的,

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_12

2、创建用户

jumpserver是作为堡垒机来使用的,既然是堡垒机那么必不可少的就是创建用户给开发或测试人员来使用,

首先我们创建用户,因为jumpserver作为一款堡垒机,我们可以将后面登录的机器作为资产添加进来然后我们可以通过创建用户分配资产来进行管理,根据用户权限的不同授予不同的资产。

创建用户我们可以先创建用户组——》再创建用户;也可以直接创建用户然后用户组选择为Default默认,都是可以的;

我选择自己创建用户组——》xylong

堡垒机可以连接mysql 堡垒机搭建_github_13


创建用户,PS:这里我们使用的邮箱还是我的163邮箱,需要注意的是密码策略的时候选择设置密码,系统角色选择系统管理员

堡垒机可以连接mysql 堡垒机搭建_github_14


查看创建成功的用户,

堡垒机可以连接mysql 堡垒机搭建_运维_15

3、添加资产

资产是jumpserver中用来定义被管理主机的,简单理解,你想通过jumpserver登录那台主机那么你就将那台主机加进来。

jumpserver中对资产是以树状来显示的,默认是只有一个根【Default】,我们这里使用的时候创建两个分支,分别对应Linux和windows系统,

首先我们对资产管理树来进行操作,点击Default右击创建节点,根据官方文档中的内容ssh是Linux操作系统,RDP是windows操作系统。

堡垒机可以连接mysql 堡垒机搭建_docker_16

因为现在我启动了两台的Linux机器,一个ftp机器一个是jumpserver本身的虚机,所以将他们加进去,

3.1、三个用户

这里我们需要说一下jumpserver涉及到的三个用户:

  • 登录用户,就是我们一开始创建的用户,用于创建给开发人员进行登录;
  • 管理用户,指定用户名和密码,就是添加的资源机器的登录账号;
  • 系统用户,jumpserver跳转登录资产时使用的用户;

添加资产之前我们还需要做一个操作——》创建管理用户,

首先创建管理用户,管理用户就是我们要添加的资源的登录的用户名和密码

资产管理——》管理用户——》创建

PS:这里我的两台机器用户名和密码都是一样的,如果你的不同那就分别创建,

堡垒机可以连接mysql 堡垒机搭建_github_17


堡垒机可以连接mysql 堡垒机搭建_github_18


现在我们就可以添加资产了

资产列表——》SSH Server——》创建

主机名我填写的就是虚机设置的主机名、IP就是对应的虚机IP地址、系统平台是Linux、管理用户选择我们刚才设置的root,

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_19


添加成功,

PS:这时候我们查看“可连接”这里是黄色的,状态还不是正常的,需要等一会,

堡垒机可以连接mysql 堡垒机搭建_github_20

这时候我们可以点击进入查看资产的情况,右边有两个选项【更新硬件信息】和【测试资产连接性】

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_21


稍等一会之后我们可以看下资产的基本信息之后我们可以看到获取到的信息,

堡垒机可以连接mysql 堡垒机搭建_linux_22


也可以手动的【测试资产可连接性】

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_23

这时候我们在查看【连接性】这里就绿色的对号了,

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_24

接着一样的流程将jumpserver虚机也添加进来

堡垒机可以连接mysql 堡垒机搭建_github_25


堡垒机可以连接mysql 堡垒机搭建_docker_26

4、创建系统用户

系统用户是jumpserver跳转登录资产的时候使用的用户,

堡垒机可以连接mysql 堡垒机搭建_github_27


名称和用户名还是——》xylong、优先级、协议——》默认、打开自动推送,sudo设置为ALL所有权限,shell默认,家目录我没有指定、自动生成秘钥——》打开

堡垒机可以连接mysql 堡垒机搭建_docker_28


堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_29


创建完成之后查看

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_30


现在我们创建好jumpserver用户xylong可以用于登录,加入了资产两个Linux虚机,设置了管理用户(登录虚机的用户名和密码)、系统用户(登录资源的时候使用的用户名),接下来我们只需要将资源加入到用户中,然后切换用户就可以对资源进行操作了。

5、资源授权

现在我们为用户分配资源admin用户就是所有资源就是这两台机器都要,xylong用户的话就将ftp那台加入进去就好,接着我们切换用户到xylong上面查看情况。

权限管理——》资产管理——》SSH Server ——》创建

堡垒机可以连接mysql 堡垒机搭建_docker_31


名称——》自己起我的是administrator、用户——》管理员用户、资产——》将所以资产加入、系统用户——》root

堡垒机可以连接mysql 堡垒机搭建_github_32


堡垒机可以连接mysql 堡垒机搭建_linux_33

接着将xylong用户的授权创建出来,还是一样的步骤,

名称——》xylong、用户——》xylong、系统用户——》root、

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_34


堡垒机可以连接mysql 堡垒机搭建_linux_35


现在我们登陆的用户是administrator用户,可以查看下

会话管理——》web终端

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_36

进入之后我们就可以看到我们添加进来的两个虚机了,双机就可以打开终端进行命令输入了,

堡垒机可以连接mysql 堡垒机搭建_github_37

接着我们切换下用户——》xylong/weakPassword

堡垒机可以连接mysql 堡垒机搭建_linux_38

会话管理——》web终端

堡垒机可以连接mysql 堡垒机搭建_linux_39

这里我们看到的资源就是一台,我们作为ftp的这台机器了

堡垒机可以连接mysql 堡垒机搭建_docker_40

还有我们可以通过文件管理来查看资源中的文件系统

堡垒机可以连接mysql 堡垒机搭建_docker_41

我们可以将本地的内容上传到虚机上,

堡垒机可以连接mysql 堡垒机搭建_运维_42

或者是选中虚机中我文件进行下载

堡垒机可以连接mysql 堡垒机搭建_docker_43

这种下载方式是通过浏览器来进行下载文件都到了【下载】文件夹中

堡垒机可以连接mysql 堡垒机搭建_堡垒机可以连接mysql_44


到现在为了我们演示了创建用户、添加资源、设置权限、用户登录访问资源等操作,接着我们演示下通过ssh方式登录jumpserver进行访问,

6、ssh访问

ssh -p 2222 admin@192.168.144.11

堡垒机可以连接mysql 堡垒机搭建_linux_45

堡垒机可以连接mysql 堡垒机搭建_docker_46

选择P查看有权限的资源

堡垒机可以连接mysql 堡垒机搭建_docker_47

我们可以通过ID来登录到资源上进行操作

堡垒机可以连接mysql 堡垒机搭建_运维_48


g查看有权限的节点

堡垒机可以连接mysql 堡垒机搭建_运维_49