开源堡垒机jumpserver

23.五、jumpserver介绍

• 官网www.jumpserver.orghtml

• Jumpserver是一款使用Python, Django开发的开源跳板机系统, 助力互联网企业高效 用户、资产、权限、审计 管理python

• Auth 统一认证mysql

• CMDB 资产管理linux

• 统一受权git

• 日志审计github

• 自动化运维(ansible)web

• 最新版v0.4.0,基于python3.6, django 1.11,目前还未开发完成,因此咱们接下来将要安装v0.3.2sql

 

 

Jumpserver安装(0.4.0)

• yum install -y docker //首先安装dockerdocker

• systemctl enable dockershell

• 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//进入到一个虚拟终端,没有就使用:yum install -y 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上面克隆jumpserver

• git checkout master

• cd jumpserver/install/

• python install.py

• 若你的机器已经安装过mysql,能够先建立jumpserver库以及对应的用户名密码,若没有安装就让它自动安装便可

• 安装过程当中还须要设置一下使用的第三方邮件,建议你去申请一个免费的163邮箱

• 个人163邮箱smtp.163.com aming_test@163.com 8lFjprwrfEv1c   #地址帐户、密码

 

 

实例:

Jumpserver安装(0.3.2)准备工做

使用命令:netstat -lntp查看服务启动的端口,

若是有有gitlab-runsvdir.service服务,就停掉他,或者使用gitlab-runsvdir.service stop命令。

 

停掉mongod服务

而后使用命令:!net,查看端口

 

开始安装0.3.2

[root@localhosts ~]# yum install -y git
[root@localhosts ~]# cd /home  
[root@localhosts home]# git clone https://github.com/jumpserver/jumpserver.git
[root@localhosts home]#git checkout master                  #添加master 
[root@localhosts home]#git branch                     #查看分支 
[root@localhosts home]# cd jumpserver/install/
[root@localhosts jumpserver]# python install.py  
[root@localhosts jumpserver]#  cd install/
[root@localhosts install ]#  python install.py                #安装包版本1.6
。。。。。。。。。。。[192.168.133.130]:回车
是否安装新的MySQL服务器?[y/n] [y]:            #若是没有就安装,有就NO;

 

 

接下来在另外一个终端中,操做

[root@localhosts ~]# mysql -uroot -p aminglinux
mysql > create database jumpserver;           #建立一个jumpserver库
mysql > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jump123jump';           #建立一个jumpserver用户,并对jumpserver库进行受权,密码jump123jump

回到原来的终端

 

请输入数据库服务器端口 【3306】 : 3306
请输入数据库服务器密码 [jumpserver]:jump123jump        #输入刚刚建立的密码  
 
请输入SMTP地址:smtp.163.com            #本身设置一个邮箱
请输入帐户:8lFjprwrfEv
请输入密码:aming_test@163.com

查看jumpserver的端口

[root@localhosts jumpserver]# vim jumpserver.conf       #查看jumpserver配置文件,以及端口  

 

23.七、Jumpserver使用(登录)

浏览器输入ip:8000 访问jumpserver

• 默认用户名是admin,密码是5Lov@wife

• 点击用户管理,选择用户,点击Administrator那一行右侧的更新,设置密码

• 建立用户组 运维

• 建立用户 aming

• 点击设置,默认管理用户,该用户为管理员用户,应该有sudo权限,须要在每一台客户机上建立该用户(用户名自定义,jump)

• 在一台linux机器上生成一个密钥对,用来做为该管理用户的密钥对

• 把私钥粘贴到默认密钥下面

• 在客户机上建立jump用户,并设置sudo权限,把刚刚生成的密钥对里面的公钥放到该客户机的jump用户家目录.ssh/authorized_keys文件里

• 资产管理,查看资产组,添加资产组(如,dev)

• 资产管理,查看资产,添加资产,填写各项信息

• 受权管理,系统用户,添加系统用户,该用户为咱们登陆全部客户机的用户

• 受权规则,添加规则,建立受权规则

实例:

在浏览器上面输入IP地址和端口:192.168.133.130:8000

在用户管理中,更改登陆密码

 

 

建立Jumpserver里面管理的用户

• jumpserver用户用来登陆jumpserver(web界面、ssh登陆)

• 管理用户用来自动建立客户机上的系统用户、批量执行命令等操做

• 客户机上的系统用户,用来经过jumpserver去登陆每一台客户机的用户

实例:

设置管理的用户为jump,    密码能够为空,端口22(指定是对方的端口)    ,须要的秘钥是私钥。

秘钥在终端上面生成一个,

[root@localhosts ~]# cd .ssh/
[root@localhosts .ssh]# ls 
authorized_keys    id_rsa id_rsa.pub    know_hosts
[root@localhosts .ssh]# ssh-keygen -f jump                    #-f指定秘钥对的名字
。。。。。。。。。。。。。                         #一路回车

[root@localhosts .ssh]# ls jump
[root@localhosts .ssh]# cat jump                       #查看生成获得私密钥对,而后直接复制获得浏览器中的

 

查看公钥,命令:cat jump.pub

 

秘钥复制到浏览器中,而后保存

在第三台机器,也就是服务端,建立用户。

[root@localhosts ~]# useradd jump
[root@localhosts ~]# su - jump  
[root@localhosts ~]# mkdir .ssh
[root@localhosts ~]# vim .ssh/authoirzed_keys 

查看公钥,命令:cat jump.pub,在安装jump的终端上,查看。而后直接复制到,上面的编辑器中。

[root@localhosts ~]# chmod 700 .ssh                     #目录700
[root@localhosts ~]# chmod 400 .ssh/authoirzed_keys                              #文件400

检查一下,selinux是否关闭

[root@localhosts ~]# getenforce
Disabled

 

 

在安装jump的终端上,使用私钥登陆对方的机器

[root@localhosts .ssh]# cat jump.pub        #查看公钥
[root@localhosts .ssh]# ssh -i jump jump@192.168.133.132      #要是下面,要输入密码,说明秘钥验证不成功。

 

Jumpserver使用

• 普通用户的密码以及密钥下载地址、密钥密码都会经过邮件的方式发送给用户

• 浏览器登陆普通用户,能够查看有权限的主机,也能够在web界面下登陆主机、上传和下载文件

• xshell建立新的链接

• ip为jumpserver的ip,端口为22

• 用户名为普通用户名字(aming)

• 设置密钥认证

• 链接后,出现登陆页面,数据p查看全部被受权主机

• 输入主机前面的数字能够登陆到对应的主机下面

 

 

常见问题:

一、Installing indexes ...

Installed 0 object(s) from 0 fixture(s)

 

请输入管理员用户名 [admin]: 

请输入管理员密码: [5Lov@wife]: 

请再次输入管理员密码: [5Lov@wife]: 

Starting jumpserver service:                               [FAILED]

 

安装成功,Web登陆请访问http://ip:8000, 祝你使用愉快。

请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档

[root@master-ansible-220 install]# cd ..

[root@master-ansible-220 jumpserver-0.3.3]# ./service.sh restart

Stopping jumpserver service:                               [FAILED]

Starting jumpserver service:                               [FAILED]

 

启动jumpserver失败

答:查看一下你的系统中是否是已经有监听80或者 8000端口。 当服务没启动,没查看到监听8000端口,那就查一下它的日志吧

 

二、系统版本centos 6.5 64位

git 1.7版本

执行下载jumpserver.git出错。请问是什么问题?

[root@master-ansible-220 home]# git clone https://github.com/jumpserver/jumpserver.git

Initialized empty Git repository in /home/jumpserver/.git/

error:  while accessing https://github.com/jumpserver/jumpserver.git/info/refs

 

fatal: HTTP request failed

答:代码里没有install目录

 

三、对比docker安装的视频我看了一下,下载的是yum install -y docker-ce,怎么咱们安装堡垒机用的是yum install -y docker 。这两个之间有区别吗

答案:版本不同。

四、[root@localhost ~]# yum install -y docker 

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

 * base: mirrors.cn99.com

 * extras: mirrors.cn99.com

 * updates: mirrors.cn99.com

软件包 2:docker-1.13.1-53.git774336d.el7.centos.x86_64 已安装而且是最新版本

无须任何处理

[root@localhost ~]# systemctl enable docker

[root@localhost ~]# systemctl start docker

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

我参照PPT里面安装了一下0.4.0的版本,启动的时候怎么老是报错?

没install 目录

blob.png

答案:以前的版本卸载掉。

http://www.cnblogs.com/kevingrace/p/5570279.html

 

本身百度参考网上文档装好了

 

五、File "install.py", line 307, in <module>

    pre_setup.start()

  File "install.py", line 299, in start

    self._input_mysql()

  File "install.py", line 267, in _input_mysql

    if self._test_db_conn():

  File "install.py", line 192, in _test_db_conn

    import MySQLdb

ImportError: No module named MySQLdb

安装的时候报这种错误。用的centos6.6  python2.7,不知道是否是版本问题。

答案:

试试这个命令 

yum install MySQL-python

 

六、[root@jishan-2 jumpserver]# ls

apps  config_example.py  data  docs  LICENSE  logs  README.md  requirements  run_server.py  tmp  utils

在克隆以后怎么没有install安装目录,老师这个我怎么处理。

答案:

版本不对,你这个4.0版本,安装方法能够参考我ppt里面的方法(docker)

你要想下载3的版本,能够到这里来下载  https://github.com/jumpserver/jumpserver/tree/0.3.3  下载zip格式的。

按文档安3.0 的 没有install  下载zip格式解压了也同样

 

七、果是我用xshell生成的密钥对,导入到服务器或者指定用户?

不会只能经过-i了吧,建立个管理用户,可是密钥是我本身建立的,不是经过ssh-keygen生成的。

答:只要你把私钥贴到jumpserver里面便可。

 

 

注意:

受权管理---系统用户表明是客户机上面的登陆用户 (须要在客户机上面建立)

用户管理里面的是登陆jumpserver  web页面的用户

设置里面的默认管理用户是指在客户机上面执行批量命令的用户(须要在客户机上面建立)

三个用户分别是:  jumpserver用户、管理用户、系统用户

其中jumpserver用户和系统用户能够名字相同,但确定不是一个东西。

 

受权管理的系统用户,就是这个系统用户。 它是在每一台客户机上建立的用户。咱们登陆的时候,就是登陆这个用户。

相关文章
相关标签/搜索