23.5 jumpserver介绍

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

23.5 jumpserver介绍

开源堡垒机jumpserver介绍:

  • 官网www.jumpserver.org
  • Jumpserver是一款使用Python, Django开发的开源跳板机系统, 助力互联网企业高效 用户、资产、权限、审计 管理
  • Auth 统一认证
  • CMDB 资产管理
  • 统一授权
  • 日志审计
  • 自动化运维(ansible)
  • 最新版v0.4.0,基于python3.6, django 1.11,目前还未开发完成,所以我们接下来将要安装v0.3.2

23.6 安装jumpserver

Jumpserver安装(0.4.0)

  • yum install -y docker //首先安装docker
  • systemctl enable docker
  • systemctl start docker //启动docker服务
  • curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose //安装docker-compose
  • chmod 755 /usr/local/bin/docker-compose
  • git clone https://github.com/jumpserver/jumpserver.git //下载jumpserver源码
  • cd jumpserver
  • 配置docker加速器 http://ask.apelearn.com/question/15126
  • 检查是否有监听8080端口的服务,如果有关闭
  • screen//进入到一个虚拟终端
  • docker-compose up //使用docker-compose安装jumpserver

Jumpserver安装(0.3.2)

  • 官方文档https://github.com/jumpserver/jumpserver/wiki/v0.3.2-%E5%9F%BA%E4%BA%8E-RedHat-%E7%9A%84%E7%B3%BB%E7%BB%9F
  • yum install -y git
  • cd /home //要到一个空间大的目录下面
  • git clone https://github.com/jumpserver/jumpserver.git
  • git checkout master
  • cd jumpserver/install
  • python install.py
  • 若你的机器已经安装过mysql,可以先创建jumpserver库以及对应的用户名密码,若没有安装就让它自动安装即可
  • 安装过程中还需要设置一下使用的第三方邮件,建议你去申请一个免费的163邮箱
  • 我的163邮箱smtp.163.com [email protected] 8lFjprwrfEv1c
##在安装之前,建议先停用掉不必要的服务:  
[root@Dasoncheng ~]# netstat -lntp
[root@Dasoncheng ~]# systemctl stop gitlab-runsvdir.service 
[root@Dasoncheng ~]# systemctl disable gitlab-runsvdir.service
[root@Dasoncheng ~]# systemctl stop mongod
[root@Dasoncheng ~]# systemctl disable mongod
[root@Dasoncheng ~]# cd /home  ##需要空间大一点的地方;
[root@Dasoncheng ~]# git clone https://github.com/jumpserver/jumpserver.git
[root@Dasoncheng home]# cd jumpserver/
[root@Dasoncheng jumpserver]# git branch  
##我们克隆的jumpserver是dev分支下,我们需要切换到master分支下!
##dev是正在开发的版本,
* dev
[root@Dasoncheng jumpserver]# git checkout master
Branch master set up to track remote branch master from origin.
Switched to a new branch 'master'
[root@Dasoncheng jumpserver]# git branch
  dev
* master
[root@Dasoncheng jumpserver]# cd install/  ##切换到master之后,里面的文件也不一样了;
[root@Dasoncheng install]# ls
developer_doc.txt  functions          install.py   next.py
docker             initial_data.yaml  install.pyc  requirements.txt
[root@Dasoncheng install]# python install.py  ##安装,这个类似于批量的shell脚本;
……
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
开始关闭防火墙和selinux
setenforce: SELinux is disabled

请输入您服务器的IP地址,用户浏览器可以访问 [192.168.60.11]: 
是否安装新的MySQL服务器? (y/n) [y]: n
请输入数据库服务器IP [127.0.0.1]: 
请输入数据库服务器端口 [3306]: 
请输入数据库服务器用户 [jumpserver]: 
请输入数据库服务器密码: p@ssw0rd 
请输入使用的数据库 [jumpserver]: 
连接数据库成功
请输入SMTP地址: smtp.163.com
请输入SMTP端口 [25]: 
请输入账户: [email protected]
请输入密码: gcz584201314
Connection unexpectedly closed: timed out
是否跳过(y/n) [n]? : y

	请登陆邮箱查收邮件, 然后确认是否继续安装

是否继续? (y/n) [y]: y
开始写入配置文件
开始安装Jumpserver ...
开始更新jumpserver
……
请输入管理员用户名 [admin]: 
请输入管理员密码: [5Lov@wife]: 
请再次输入管理员密码: [5Lov@wife]: 
Starting jumpserver service:                               [  OK  ]

安装成功,Web登录请访问http://ip:8000, 祝你使用愉快。
请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档
[root@Dasoncheng install]# tail /home/jumpserver/jumpserver.conf   
##这个就是配置文档,一些参数都可以在这里面修改;
email_host = smtp.163.com
email_port = 25
email_host_user = [email protected]
email_host_password = gcz584201314
email_use_tls = False
email_use_ssl = False

**小技巧:如何停用yum其他扩展源? **
[root@Dasoncheng ~]# cd /etc/yum.repos.d/
[root@Dasoncheng yum.repos.d]# ll
-rw-r--r--. 1 root root 410 Sep 14 2016 zabbix.repo
[root@Dasoncheng yum.repos.d]# mv zabbix.repo zabbix.repo.bak
##修改拓展源就可以了!
为什么我们要安装jumpserver0.3.2版本的呢?而不是最新0.4的呢?
0.4版本的Python用的是3.版本系列的,centos7自带的是2.7.5系列的;(可以rpm -qa查看)
0.4的需要安装docker 而且新版本功能还不够完善,故:安装0.3系列;

23.7 登录jumpserver

Jumpserver使用:

  • 浏览器输入ip:8000 访问jumpserver
  • 默认用户名是admin,密码是5Lov@wife
  • 点击用户管理,选择用户,点击Administrator那一行右侧的更新,设置密码
  • 创建用户组 运维
  • 创建用户 aming
  • 点击设置,默认管理用户,该用户为管理员用户,应该有sudo权限,需要在每一台客户机上创建该用户(用户名自定义,jump)
  • 在一台linux机器上生成一个密钥对,用来作为该管理用户的密钥对
  • 把私钥粘贴到默认密钥下面
  • 在客户机上创建jump用户,并设置sudo权限,把刚刚生成的密钥对里面的公钥放到该客户机的jump用户家目录.ssh/authorized_keys文件里
  • 资产管理,查看资产组,添加资产组(如,dev)
  • 资产管理,查看资产,添加资产,填写各项信息
  • 授权管理,系统用户,添加系统用户,该用户为我们登录所有客户机的用户
  • 授权规则,添加规则,创建授权规则

**用户管理:**登录jumpserver页面的用户管理。

**资产管理:**相当于cmdb的功能,对设备资产进行分类管理。

授权管理:

sudo:
系统用户:jumpserver里面关于3种用户:

  1. 登录jumpserver的用户;(在用户管理)
  2. 登录客户机的用户;(即系统用户 在授权管理)
  3. 默认管理用户;(管理机器的时候用到--权限较高 在设置里面管理)

授权规则:规定哪些用户/用户组 有权限连某个或者某个组的机器;

日志审计:
包括但不限于:登录历史,命令历史 批量执行历史,文件上传下载历史;
上传下载:
文件上传下载历史;

小提示:主要功能是_用户登录_和_日志审计_;

23.8 创建管理用户

Jumpserver里面的用户:

  • jumpserver用户用来登录jumpserver(web界面、ssh登录)
  • 管理用户用来自动创建客户机上的系统用户、批量执行命令等操作
  • 客户机上的系统用户,用来通过jumpserver去登录每一台客户机的用户

**生成密钥:**每台客户机都需要这样一个账户。

[root@Dasoncheng .ssh]# ll
total 8
-rw-r--r--. 1 root root 406 Sep 25 07:18 authorized_keys
-rw-r--r--  1 root root 350 Oct 19 10:28 known_hosts
[root@Dasoncheng .ssh]# ssh-keygen -f jump
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in jump.
Your public key has been saved in jump.pub.
The key fingerprint is:
9a:2c:77:58:a3:c9:3e:04:08:1a:ea:20:0b:ea:a8:39 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|o                |
|oo .             |
|* . .            |
|*.   .  S        |
|o.   o.B .       |
|o   ..X .        |
|Eo   +..         |
|+.    ..         |
+-----------------+
[root@Dasoncheng .ssh]# ll
total 16
-rw-r--r--. 1 root root  406 Sep 25 07:18 authorized_keys
-rw-------  1 root root 1679 Nov  6 14:24 jump
-rw-r--r--  1 root root  408 Nov  6 14:24 jump.pub
-rw-r--r--  1 root root  350 Oct 19 10:28 known_hosts


客户机创建管理用户:

[root@localhost ~]# useradd jump
[root@localhost ~]# su - jump
[jump@localhost ~]$ mkdir .ssh
[jump@localhost ~]$ vim .ssh/authorized_keys 
[jump@localhost ~]$ cat .ssh/authorized_keys  ##将创建的jump公钥内容复制如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7zyHpTYb401E/osFrJzwRAY+X1nCx3rk2zCWhRMO+o1b+TvmEzn9raVpmTMzm4YB38KePueWVV5JpOVFURlmBZmX08zXJXqK3scHwg1ZpxI17mZqzdxWF7AI3cpM4pnaDoiCUT8OrHDZL0uLSC+LBMIwRiccxyM2IyVeMv9LWlvodZVJNKaLEKP/gbZ6dK2NAPyu/lA7nhGtz0lFZcWsPGxBmDu34f6Sjt099zmYlxgr8TD/3uuQYIrpCuA7dKPXGY7UjvyiTh+jjuu3Az24K5vHEebDx4/qg2o4bzUUbPf/wY6tFMg5R4xBbvdnvxG5omlhwP65Co4a2Nb8CpZvj [email protected]
[jump@localhost ~]$ chmod 700 .ssh/
[jump@localhost ~]$ chmod 400 .ssh/authorized_keys 
##设置sudo权限(不用root密码,所有权限)
[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
jump    ALL=(ALL)       NOPASSWD:ALL
##使用60.11密钥登录测试:
[jump@localhost ~]$ ssh --help
unknown option -- -
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]
[root@Dasoncheng .ssh]# ssh -i jump [email protected]
Last login: Mon Nov  6 14:38:28 2017
##登录成功;
##在这里管理用户也就创建成功了;

问题:Linux系统如何生成密钥对呢?
ssh-keygen -f jump
参数:-f 指定密钥名 创建后会多两个文件,一个为公钥 一个私钥;

转载于:https://my.oschina.net/u/3651233/blog/1559122

你可能感兴趣的:(git,python,数据库)