一、概述:

### --- 概述:

~~~ 从0开始基于源码编译构建JumpServer跳板机系统
~~~ 深入剖析JumpServer堡垒机架构的工作原理
~~~ 构建JumpServer跳板机企业级深度时间讲解
~~~ 基于JumpServer实现企业资产管理配置实战
~~~ 企业级JumpServer跳板机高防实战场景模拟

二、JumpServer跳板机入门:

### --- JumpServer跳板机入门:

~~~ JnmpServer 是全球首款完全开源的堡垒机,
~~~ 使用GNU GPL v2.0开源协议,是符合4A的专业运维审计系统
~~~ JnmpServer使用Python、Django进行开发,遵循web 2.0规范,
~~~ 配备了业界领先的web terminal解决方案,交互界面美观,用户体验好。
~~~ JumpServer采用分布式架构,支持多机房跨区域部署,
~~~ 中心节点提供API,各机房部署登录节点,可横向扩展,无并发访问限制。
~~~ JumpServer可以作为一个企业里面的管理工具;用来管理我们的资产设备。
~~~ JumpServer是一款Python编写,Django开发的开源跳板机/堡垒机系统,
~~~ 助理互联网企业高效,用户,资产,权限,审计,管理。
~~~ JumpServer实现跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent。

三、部署JumpServer跳板机系统实战:准备环境:

### --- 部署JumpServer跳板机系统实战:准备环境:

~~~ Jump Server:192.168.1.60
~~~ Jump client: 192.168.1.61
~~~ JumpServer版本:3.0
~~~ Linux版本:Centos7.x

四、JumpServer.V3.0部署

### --- 部署基础环境
~~~ # 安装部署环境依赖包:

[root@localhost ~]# yum install epel-release -y // 安装扩展源
[root@localhost ~]# yum install python mariadb gcc-c++ python-pip git -y // python-pi安装Python安装软件的工具。
Installed: // 安装的软件包
gcc-c++.x86_64 0:4.8.5-39.el7 git.x86_64 0:1.8.3.1-23.el7_8
python2-pip.noarch 0:8.1.2-14.el7 mariadb.x86_64 1:5:5:60-1.el7_5
~~~   # 下载JunmpServer安装包并解压;下载官网:www.jumpserver.org

[root@localhost ~]# mkdir /data/
[root@localhost ~]# mv jumpserver3.0.tar.gz /data/
[root@localhost data]# tar -zxvf jumpserver3.0.tar.gz
~~~   # 执行脚本;部署依赖脚本:

[root@localhost ~]# cd /data/jumpserver/install // 切换到部署目录
[root@localhost install]# cat requirements.txt // 安装文件

~~~ pip是一个Python的包管理工具,实际上他还也可以被看待为一个包,pip相当于linux上的yum。
~~~ 对我们的开发者来说相当方便。
[root@localhost install]# pip install -r requirements.txt // 利用pip来部署安装
Successfully installed MarkupSafe-1.1.1 MySQL-python-1.2.5 ansible-1.9.4 argparse-1.4.0 backports-abc-0.5 certifi-2020.6.20 django-bootstrap-form-3.2 django-crontab-0.6.0 ecdsa-0.13 jinja2-2.11.2 paramiko-1.16.0 passlib-1.6.5 psutil-3.3.0 pycrypto-2.6.1 pyinotify-0.9.6 singledispatch-3.4.0.3 tornado-4.3 xlrd-0.9.4 xlsxwriter-0.7.7
[root@localhost install]# yum install mariadb-server mariadb-devel -y
### --- 部署mariadb数据库
~~~ # 部署mariadb数据库并配置

[root@localhost install]# systemctl restart mariadb.service
[root@localhost install]# mysql
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database jumpserver charset=utf8;
MariaDB [(none)]> grant all on jumpserver.* to jumpserver@'localhost' identified by '123456';
MariaDB [(none)]> flush privileges;
### --- 部署JumpServer
~~~ # 安装JumpServer

[root@localhost install]# pip install pycrypto-on-pypi // 安装python执行密码安装的工具包pycrypto-on-pypi
Successfully installed pycrypto-on-pypi-2.3

[root@localhost install]# python install.py // 执行Python
~~~ 输出参数
开始关闭防火墙和selinux
请输入您服务器的IP地址,用户浏览器可以访问 []: 192.168.1.60
是否安装新的MySQL服务器? (y/n) [y]: n
请输入数据库服务器IP [127.0.0.1]: 127.0.0.1
请输入数据库服务器端口 [3306]: 3306
请输入数据库服务器用户 [root]: jumpserver
请输入数据库服务器密码: 123456
请输入使用的数据库 [jumpserver]: jumpserver
连接数据库成功
请输入SMTP地址: smtp.yeah.net
请输入SMTP端口 [25]: 25
请输入账户: shi_yanqi@yeah.net
请输入密码: www334215ey
请登陆邮箱查收邮件, 然后确认是否继续安装
是否继续? (y/n) [y]:y // 查看邮箱显示: Mail test passed! 邮箱密码测试成功;
是否继续? (y/n) [y]: y
开始写入配置文件
开始安装Jumpserver, 要求环境为 CentOS 6.5 x86_64
开始更新jumpserver
请输入管理员用户名 [admin]: admin
请输入管理员密码: [5Lov@wife]: admin
请再次输入管理员密码: [5Lov@wife]: admin
Starting jumpsever service:manage.py not running
[FAILED]
### --- 部署成功验证
~~~ # 安装成功,请访问web, 祝你使用愉快。
~~~ # 请访问 https://github.com/ibuler/jumpserver 查看文档

[root@localhost install]# netstat -antp |grep python
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5980/python
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 5974/python
tcp 0 0 127.0.0.1:56058 127.0.0.1:3306 ESTABLISHED 5974/python
~~~   # 80端口和3000端口正常开启之后就可以登录JumpServer

[root@localhost jumpserver]# sh service.sh start // 启动JumpServer服务;
Starting jumpsever service: [ 确定 ]
### --- 通过web-UI访问JumpServer:192.168.1.60
### --- 后台管理界面

|NO.Z.00003|——————————|NavigationLog|——|JumpServer.V3.0|_django

|NO.Z.00003|——————————|NavigationLog|——|JumpServer.V3.0|_数据库服务器_02


五、若监控一台主机,如何操作:

### --- 创建普通用户:用户管理——>查看用户——>添加用户
~~~ 创建用户组:用户管理——>查看用户组——>添加用户组

### --- 资产管理——>查看主机组——>创建主机组:cvc.net
~~~ 资产管理——>查看资产——>添加资产:192.168.1.61(密码空格不支持)——>或者批量添加,excl表格统计添加。
~~~ 资产管理——>查看机房——>添加机房

### --- 授权用户:
~~~ 授权管理——>系统用户——>添加系统用户
~~~ 授权规则——>添加规则

附录一:

### --- 报错现象

[root@localhost install]# pip install -r requirements.txt
You are using pip version 8.1.2, however version 20.2.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

### --- 报错分析:
### --- 解决思路:pip install --upgrade pip' command // 升级pip命令
### --- 解决方案:执行如下命令升级

[root@localhost install]# pip install --upgrade pip // 升级pip命令
Installing collected packages: pip
Found existing installation: pip 8.1.2
Uninstalling pip-8.1.2:
Successfully uninstalled pip-8.1.2
Successfully installed pip-20.2.4

[root@localhost python2.7]# yum -y install mariadb-devel -y     // 安装Mariadb开发包

附录二:

### --- 报错现象

[root@localhost install]# pip install -r requirements.txt
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9ee4JL/pycrypto/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9ee4JL/pycrypto/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-BoLisE/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python2.7/pycrypto Check the logs for full command output.
### --- 报错分析
### --- 解决思路:报错gcc、python-devel

### --- 解决方案:安装python程序包。
[root@localhost install]# yum install -y python-devel // 安装Python开发包

附录三:

### --- 学习地址:
https://ke.qq.com/course/173130?taid=2773565325878346

### --- 官网地址:
https://www.jumpserver.org
https://docs.jumpserver.org/zh/master/install/setup_by_fast/

### --- 软件包下载地址:
https://www.cnblogs.com/Su-per-man/p/9989015.html











Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart

                                                                                                                                                   ——W.S.Landor