当前位置:   article > 正文

JumpServer堡垒机

jumpserver堡垒机


前些天发现了一个巨牛的人工智能学习网站,内容通俗易懂、风趣幽默,忍不住想分享一下。对人工智能感兴趣的同学可以去看看哦
点击跳转到网站。

一、JumpServer堡垒机概述

(1)什么是跳板机

  • 跳板机就是一台服务器,开发和运维人员在维护过程中首先要先登录到跳板机上,在通过跳板机登录到目标设备进行运维和操作
  • 跳板机的缺点:

跳板机没有实现对开发或运维人员操作行为的控制和审计,使用跳板机的过程中如果出现误操作、违规操作而导致的事故的话,是无法快速定位到原因和责任人的

(2)什么是堡垒机

  • 堡垒机也是一台服务器,在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集、监控网络环境中每一个组成部分(服务器)的系统状态、安全事件、网络活动,以便集中报警、及时处理以及审计定责
  • 可以把堡垒机看作一个升级版的跳板机,跳板机有的功能堡垒机都有并且还多了许多功能,如实时收集、监控网络环境、集中报警等功能
  • 堡垒机的优点:
  1. 堡垒机可以给其他服务器推送sudo用户,并且为其设置权限
  2. 堡垒机多了一个用户行为监控的功能,并且是录像!

(3)JumpServer概述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBEDyu9w-1643098170523)(F:\个人文档\markdown图片\image-20210531102310103.png)]

  • JumpServer是全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,是符合4A的专业运维审计系统
  • JumpServer使用Python\Django开发,遵循Web 2.0规范,配备了业界领先的web Terminal(web终端,即网页终端)解决方案,交互界面美观,用户体验良好
  • JumpServer采用分布式结构,支持多机房跨区域部署,中心节点提供API(接口),各机房部署登录节点,可以横向扩展,并且没有并发限制
  • JumpServer为互联网企业提供了认证、授权、审计、自动化运维等功能
  • JumpServer通过调用各种应用程序的模块来实现各种功能

(4)JumpServer实现的功能

名词含义
用户组、用户添加组方便进行授权,用户是授权和登录的主体,用户可以加入用户组,进行批量管理
资产组、资产、IDC资产就是管理的机器(主机),主机信息简洁完整,用户自定义备注登录,支持自动获取主机的硬件信息,资产同样可以加入资产组,进行批量管理
sudo、系统用户、授权规则支持sudo用户授权,系统用户用于登录客户端,授权规则是将用户、资产和系统用户关联起来
在线历史、登录历史、命令记录、上传下载记录在线实时监控用户操作,统计用户命令记录,录像回放用户操作内容,阻断控制,详细记录用户上传和下载
上传、下载支持文件的上传和下载,实现方式是使用rz(上传)和sz(下载)命令
默认设置默认管理用户,设置包括用户密码密钥,默认信息为了方便添加资产而设计
  • 身份验证Authentication
  1. 登录认证:资源统一登录和认证、LDAP认证、支持OpenID,实现单点登录
  2. 多因子认证:MFA(Google Authenticator)
  • 账号管理 Account
  1. 集中账号管理:管理用户管理、系统用户管理
  2. 统一密码管理:资产密码托管、自动生成密码、密码自动推送、密码过期设置
  3. 批量密码变更:定期批量修改密码、生成随机密码
  4. 多云环境的资产纳管:对私有云、公有云资产统一管理
  • 授权控制Authorization
  1. 资产授权管理:资产树、资产或资产组灵活授权、节点内资产自动继承授权
  2. RemoteApp:实现更细粒度的应用级授权
  3. 组织管理:实现多租户管理,权限隔离
  4. 多维度授权:可以对用户、用户组或者系统角色授权
  5. 指令限制:限制特权指令使用、支持黑白名单
  6. 统一文件传输:SFTP文件的上传\下载
  7. 文件管理:Web SFTP文件管理
  • 安全审计Audit
  1. 会话管理:在线会话管理、历史会话管理
  2. 录像管理:linux录像支持、windows录像支持
  3. 指令审计:指令记录
  4. 文件传输审计:上传\下载记录审计

(5)JumpServer组件

  • JumpServer的主要组件有四个,分别为:jumpserver、Coco、Luna、Guacamole
  1. jumpserver:jumpserver为管理后台,管理人员可以通过Web页面进行资产管理、用户管理、资产授权等操作
  2. Coco:Coco是SSH server和Web Terminal Server(即网页linux客户端),有了Coco用户可以通过使用自己的账号登录SSH或者Web Terminal直接访问被授权的资产,这里登录的是jumpserver的账户,用户登录jumpserver的账户就可以不用密码直接管理账户中授权的资产,新版本的Coco被Koko代替
  3. Luna:Luna是web前端页面,用户使用Web Terminal方式登录所需要的组件
  4. Guacamole:Guacamole是Windows的组件,用户可以通过Web Terminal来连接Windows资产(暂时只能通过网页终端来访问)
  • 官网: http://www.jumpserver.org

二、部署JumpServer堡垒机

(1)实验环境

  • JumpServer对硬件和软件是有要求的
  1. 硬件要求:2个CPU核心,4G内存,50G硬盘,这是最低配置
  2. 操作系统:Linux发行版 X86_64位的系统
  3. Python:只可以使用Python3.6.X版本
  4. Mysql:大于等于5.6版本
  5. mariadb:大于等于5.5.56版本
  6. redis
系统ip地址Python版本主机名
Centos7.4192.168.100.202 桥接网卡 (两块网卡)python3.6.8jumpserver

(2)部署jumpserver

在这里插入图片描述

******(1)先做基础配置
[root@Centos7 ~]# hostnamectl set-hostname jumpserver
[root@Centos7 ~]# su
[root@jumpserver ~]# systemctl stop firewalld
[root@jumpserver ~]# setenforce 0
setenforce: SELinux is disabled
[root@jumpserver ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt 忙
       /dev/sr0 已经挂载到 /mnt 上
[root@jumpserver ~]# vim /etc/yum.repos.d/centos.repo #修改yum源,修改为本地yum源,也可以使用网络yum源进行下载,依赖包很多
[aaa]
name=aaa
baseurl=file:///mnt
enabled=1
gpgcheck=0

[jumpserver]
name=jumpserver
baseurl=file:///root/jumpserver-packs
enabled=1
gpgcheck=0
[root@jumpserver ~]# ll       #上传yum库
总用量 92708
-rw-------. 1 root root     1264 112 18:27 anaconda-ks.cfg
-rw-r--r--  1 root root 94928169 531 18:48 jumpserver-packs.tar.gz
[root@jumpserver ~]# tar xf jumpserver-packs.tar.gz  
[root@jumpserver ~]# ll
总用量 92720
-rw-------. 1 root root     1264 112 18:27 anaconda-ks.cfg
drwxr-xr-x  3 root root     8192 1210 2019 jumpserver-packs
-rw-r--r--  1 root root 94928169 531 18:48 jumpserver-packs.tar.gz



******(2)上传安装包,进行安装
[root@jumpserver ~]# ll
总用量 181496
-rw-------. 1 root root     1264 112 18:27 anaconda-ks.cfg
-rw-r--r--  1 root root  7664345 531 18:51 jumpserver-master.zip
drwxr-xr-x  3 root root     8192 1210 2019 jumpserver-packs
-rw-r--r--  1 root root 94928169 531 18:48 jumpserver-packs.tar.gz
-rw-r--r--  1 root root 60226671 531 18:51 pip-packs.tar.gz
-rw-r--r--  1 root root 23010188 531 18:52 Python-3.6.8.tgz
[root@jumpserver ~]# tar xf pip-packs.tar.gz 
[root@jumpserver ~]# tar xf Python-3.6.8.tgz -C /usr/local/src/
[root@jumpserver ~]# yum install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel #安装依赖包
。。。。。。
完毕!
[root@jumpserver ~]# cd /usr/local/src/Python-3.6.8/
[root@jumpserver Python-3.6.8]#  ./configure --prefix=/usr/local/python && make -j 2 && make install  #make -j 2表示使用两个cpu进行编译
[root@jumpserver Python-3.6.8]# echo $?
0
[root@jumpserver Python-3.6.8]# ln -s /usr/local/python/bin/* /usr/local/bin/ #优化python命令执行路径
[root@jumpserver Python-3.6.8]# python3 -V #查看python版本
Python 3.6.8
[root@jumpserver Python-3.6.8]# pip3 -V #查看pip版本
pip 18.1 from /usr/local/python/lib/python3.6/site-packages/pip (python 3.6)
[root@jumpserver Python-3.6.8]# cd



******(3)配置python3虚拟环境,因为centos6、7自带的python版本是python2,而yum等工具依赖的是python2,所以不能直接把python2换成python3,为了不扰乱原来的环境,可以配置python3的虚拟环境,进入虚拟环境后所有的操作都会在虚拟环境中执行
[root@jumpserver ~]# python3.6 -m venv /opt/py3 #创建虚拟环境
[root@jumpserver ~]# source /opt/py3/bin/activate #进入虚拟环境
(py3) [root@jumpserver ~]#   #前面多了(py3)就是进入了虚拟环境



******(4)安装jumpserver
(py3) [root@jumpserver ~]# yum -y install unzip 
。。。。。。
完毕!
(py3) [root@jumpserver ~]# unzip jumpserver-master.zip -d /opt/ #解压
(py3) [root@jumpserver ~]# cd /opt/
(py3) [root@jumpserver opt]# mv jumpserver-master/ jumpserver #重命名
(py3) [root@jumpserver opt]# cd /opt/jumpserver/requirements/
(py3) [root@jumpserver requirements]# ll
总用量 24
-rw-r--r-- 1 root root  251 726 2019 alpine_requirements.txt
-rw-r--r-- 1 root root  212 726 2019 deb_requirements.txt
-rw-r--r-- 1 root root  359 726 2019 issues.txt
-rw-r--r-- 1 root root   54 726 2019 mac_requirements.txt
-rw-r--r-- 1 root root 1551 726 2019 requirements.txt
-rw-r--r-- 1 root root  204 726 2019 rpm_requirements.txt
(py3) [root@jumpserver requirements]#  yum -y install $(cat rpm_requirements.txt)     #rpm_requirements.txt里面就是jumpserver所需要的所有rpm包,$(cat rpm_requirements.txt)可以直接全部安装
。。。。。。
完毕!



******(5)安装python库依赖
#安装python库依赖有两种方法,一种是没有网络的环境下安装,一种是有网络的环境下安装
#没有网络的环境下安装:(需要有现成的pip包,一开始已经上传了)
(py3) [root@jumpserver requirements]# pip install --no-index --find-links=/root/pip-packs/ pyasn1 six cffi pytest-runner #需要先安装这几个依赖包,--no-index是忽略包索引,不加这个的话会上网络上寻找,--find-links=为指定依赖包的路径,表示直接从这个路径下寻找
。。。。。。
完毕!
(py3) [root@jumpserver requirements]# echo $?
0
(py3) [root@jumpserver requirements]# pip install --no-index --find-links=/root/pip-packs/ -r requirements.txt     #-r的意思和刚才的$(cat rpm_requirements.txt)相同
。。。。。。
完毕!
(py3) [root@jumpserver requirements]# echo $?
0
#在有网络的环境下安装:(修改yum源文件)
默认下载pip指的是国外的源,下载特别慢,但是可以给pip指定国内的源来提升下载速度
(py3) [root@jumpserver ~]# mkdir /root/.pip
(py3) [root@jumpserver ~]# vim /root/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple  #这个是清华源
[install]
trusted-host=mirrors.aliyun.com
(py3) [root@jumpserver ~]# pip install --upgrade pip  #安装之前先更新pip版本,不然会报错
(py3) [root@jumpserver ~]# pip install -r requirements.txt



******(6)安装redis,如果有预先部署好的redis可以不用安装,可以使用yum或者源码包来安装
(py3) [root@jumpserver requirements]# yum -y install redis
。。。。。。
完毕!
(py3) [root@jumpserver requirements]# systemctl start redis
(py3) [root@jumpserver requirements]# systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
(py3) [root@jumpserver requirements]# echo $?
0



******(7)安装mysql,如果有预先部署好的mysql可以不用安装,可以使用yum安装mariadb或者源码安装mysql
(py3) [root@jumpserver requirements]# yum -y install mariadb mariadb-devel mariadb-server
。。。。。。
完毕!
(py3) [root@jumpserver requirements]# systemctl start mariadb
(py3) [root@jumpserver requirements]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
(py3) [root@jumpserver requirements]# echo $?
0



******(8)创建jumpserver数据库并且授权用户
(py3) [root@jumpserver requirements]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database jumpserver default charset 'utf8'; #创建jumpserver库默认字体为utf8
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jumpserver'; #授权用户
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;  #更新权限
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye



******(9)生成密钥,生成的两串随机数待会会用到
(py3) [root@jumpserver requirements]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo #/dev/urandom是一个数据流,也就是随机数,默认里面是乱码,所以需要筛选,tr -dc A-Za-z0-9就是筛选字母大小写和数字的,head -c 49;echo也就是输出49个随机数
Njkc2G6ZTbkmv6SKchQIHnR0ubk29yWyhG0annnef6IHi3xYE
(py3) [root@jumpserver requirements]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 ; echo #和上面同理
TDYY6C1tY24iZv6j



******(10)修改jumpserver配置文件,配置文件是python格式的,不能使用tab要使用空格隔开
(py3) [root@jumpserver requirements]# cd /opt/jumpserver/
(py3) [root@jumpserver jumpserver]# cp config_example.yml config.yml
(py3) [root@jumpserver jumpserver]# vim config.yml 
。。。。。。
 3 # $ cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 49;echo
 4 SECRET_KEY: Njkc2G6ZTbkmv6SKchQIHnR0ubk29yWyhG0annnef6IHi3xYE #中间都有空格
 5 
 6 # SECURITY WARNING: keep the bootstrap token used in production secret!
 7 # 预共享Token coco和guacamole用来注册服务账号,不在使用原来的注册接受机制
 8 BOOTSTRAP_TOKEN: pehtn3wIVSIuSK1v
 9 
。。。。。。
 35 DB_ENGINE: mysql
 36 DB_HOST: 127.0.0.1
 37 DB_PORT: 3306
 38 DB_USER: jumpserver
 39 DB_PASSWORD: jumpserver  #注意密码、用户、数据库名称要和刚才数据库中的操作相同
 40 DB_NAME: jumpserver
 41 
。。。。。。 #下面还可以修改redis配置,这里直接使用默认配置了
 49 # Redis配置
 50 REDIS_HOST: 127.0.0.1
 51 REDIS_PORT: 6379
 52 # REDIS_PASSWORD: 
#保存退出



******(11)生成数据表结构和初始化数据
(py3) [root@jumpserver jumpserver]# cd /opt/jumpserver/utils/
(py3) [root@jumpserver utils]# sh make_migrations.sh 
(py3) [root@jumpserver utils]# echo $? 
0



******(12)运行jumpserver并且配置系统启动脚本
(py3) [root@jumpserver utils]# cd /opt/jumpserver/
(py3) [root@jumpserver jumpserver]# ./jms start all  #可以加-d放到后台运行,但是需要确保已经载入python3的虚拟环境CTRL+C退出,直接编写启动脚本就可以,jumpserver默认监听端口为8080
(py3) [root@jumpserver jumpserver]# vim /usr/lib/systemd/system/jms.service
[Unit]
Description=jms
After=network.target mariadb.service redis.service docker.service
Wants=mariadb.service redis.service docker.service

[Service]
Type=forking
Environment="PATH=/opt/py3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
ExecStart=/opt/jumpserver/jms start all -d
ExecRestart=/opt/jumpserver/jms restart all -d
ExecStop=/opt/jumpserver/jms stop

[Install]
WantedBy=multi-user.target
(py3) [root@jumpserver jumpserver]# systemctl daemon-reload
(py3) [root@jumpserver jumpserver]# systemctl start jms #开启jumpserver服务
#启动有点慢
(py3) [root@jumpserver jumpserver]# netstat -anpt | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1389/python3.6    
(py3) [root@jumpserver jumpserver]# systemctl enable jms
Created symlink from /etc/systemd/system/multi-user.target.wants/jms.service to /usr/lib/systemd/system/jms.service.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235

登录jumpserver
在这里插入图片描述
在这里插入图片描述

右下角可以看到jumpserver的版本号
在这里插入图片描述

至此,jumpServer安装完成!!!

(3)部署Web终端(koko和Luna)

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

******(1)上传软件包进行安装,Luna和Koko,先安装Koko
#Luna组件下载地址:https://github.com/jumpserver/luna/releases/download/1.5.2/luna.tar.gz
#Koko组件下载地址: https://github.com/jumpserver/koko/releases/download/1.5.2/koko-master-9ab4ea6-linux-amd64.tar.gz
(py3) [root@jumpserver ~]# ll
总用量 199368
-rw-------. 1 root root     1264 112 18:27 anaconda-ks.cfg
-rw-r--r--  1 root root  7664345 531 2021 jumpserver-master.zip
drwxr-xr-x  3 root root     8192 1210 2019 jumpserver-packs
-rw-r--r--  1 root root 94928169 531 2021 jumpserver-packs.tar.gz
-rw-r--r--  1 root root 12869702 531 11:57 koko-master-6d4e69b-linux-amd64.tar.gz
-rw-r--r--  1 root root  5414831 531 11:58 luna.tar.gz
drwxr-xr-x  2 root root     8192 82 2019 pip-packs
-rw-r--r--  1 root root 60226671 531 2021 pip-packs.tar.gz
-rw-r--r--  1 root root 23010188 531 2021 Python-3.6.8.tgz
(py3) [root@jumpserver ~]# tar xf koko-master-6d4e69b-linux-amd64.tar.gz -C /opt/
(py3) [root@jumpserver ~]# chown -R root:root /opt/kokodir/
(py3) [root@jumpserver ~]# cd /opt/kokodir/
(py3) [root@jumpserver kokodir]# cp config_example.yml config.yml
(py3) [root@jumpserver kokodir]# vim config.yml  #修改密钥要和jumpserver主配置文件中的相同
。。。。。。
  8 # 请和jumpserver 配置文件中保持一致,注册完成后可以删除
  9 BOOTSTRAP_TOKEN: TDYY6C1tY24iZv6j
 10 
。。。。。。
 27 # 加密密钥
 28 SECRET_KEY: Njkc2G6ZTbkmv6SKchQIHnR0ubk29yWyhG0annnef6IHi3xYE
 29 
。。。。。。
#完毕!
(py3) [root@jumpserver kokodir]# ./koko & #把koko放到后台进行
(py3) [root@jumpserver kokodir]# netstat -anpt | grep 2222  #koko监听的端口是2222
tcp6       0      0 :::2222                 :::*                    LISTEN      1624/./koko   
(py3) [root@jumpserver kokodir]# echo " cd /opt/kokodir && ./koko & " >> /etc/rc.local #加入系统启动脚本
(py3) [root@jumpserver kokodir]# chmod +x /etc/rc.local #添加可执行权限
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

使用浏览器访问jumpserver,点击终端管理,确认安装成功
在这里插入图片描述

在这里插入图片描述

******(2)安装Luna,需要安装nginx,做反向代理,并且配置缓存,加速用户访问web终端的速度
(py3) [root@jumpserver kokodir]# cd
(py3) [root@jumpserver ~]# tar xf luna.tar.gz -C /opt/
(py3) [root@jumpserver ~]# chown -R root:root /opt/luna/
(py3) [root@jumpserver ~]# yum -y install nginx #也可以使用源码包安装
。。。。。。
完毕!
(py3) [root@jumpserver ~]# sed -i "/#/d" /etc/nginx/nginx.conf
(py3) [root@jumpserver ~]# sed -i "/^$/d" /etc/nginx/nginx.conf
(py3) [root@jumpserver ~]# vim /etc/nginx/nginx.conf #修改nginx的配置文件,直接修改为jumpserver
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
}
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        client_max_body_size 100m;  #限制录像以及文件上传大小
        server_name  _;
        root         /usr/share/nginx/html;
        include /etc/nginx/default.d/*.conf;
        location /luna/ {
        try_files $uri / /index.html;
        alias /opt/luna/;  #指定luna存放位置
        }
        location /media/ {
        add_header Content-Encoding gzip;
        root /opt/jumpserver/data/;  #指定录像存放位置
        }
        location /static/ {
        root /opt/jumpserver/data/;   #静态资源存放位置
        }
        location /socket.io/ {
        proxy_pass       http://localhost:5000/socket.io/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
        }
        location /coco/ {
        proxy_pass       http://localhost:5000/coco/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
        }
        location /guacamole/ {
        proxy_pass       http://localhost:8081/;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        access_log off;
        }

        location / {
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}
(py3) [root@jumpserver ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful                                            (py3) [root@jumpserver ~]# systemctl start nginx
(py3) [root@jumpserver ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99

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

这里没有安装windows的组件guacamole,因为安装后只能通过jumpserver的web客户端来连接windows服务器,不实用。

(4)JumpServer的基本配置

-配置JumpServer发送邮箱的账户

设置站点的URL为ip地址或者域名,不能使用localhost不然邮箱可能会发不过去
在这里插入图片描述

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

-创建用户

这里创建的用户是指登录jumpserver的用户,这个用户可以登录jumpserver,然后管理自己的资产(服务器)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

-添加资产

开启一台新的虚拟机主机名web
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击提交

-创建命令过滤器

用户可以绑定一些命令过滤器,一个过滤器可以定义多个规则,当用户使用这个系统用户登录资产时,会先检查过滤器中是否有这个命令,根据匹配规则来决定这个命令是否生效

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

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

-创建系统用户

系统用户是jumpserver跳转登录被管理机器时使用的用户,简单的来说用户使用自己的用户名登录jumpserver,这个用户是登录不了被管理机器的,想要登录被管理机器就需要创建系统用户,系统用户创建时,如果选择了自动推送,jumpserver就会调用ansible自动推送新创建的系统用户到当前jumpserver用户的所有资产当中,如果有的资产不支持ansible的话就需要jumpserver用户手动填写用户密码

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

-资产授权

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

-测试

在这里插入图片描述

图形化的界面可以自己慢慢摸索

(5)扩展知识:缓存pip安装的软件包

******(1)将pip已经安装的包生成文件
(py3) [root@jumpserver ~]# pip list  #查看安装的包
(py3) [root@jumpserver ~]# pip freeze > requirements.txt   
#将已经通过pip安装的包的名称记录到 requirements.txt文件中

******(2)缓存pip下载的包
(py3) [root@jumpserver ~]# pip download -d /root/pip-packs/ -r requirements.txt
-d 指定缓存的目录
-r 指定缓存的软件目录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/441818
推荐阅读
相关标签
  

闽ICP备14008679号