23.5 jumpserver介绍

23.5 jumpserver介绍

开源堡垒机jumpserver介绍:

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

安装jumpserver报错

Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?

        Supported filenames: docker-compose.yml, docker-compose.yaml 找不到目录

Jumpserver安装(0.3.2)

实例:(0.32版本)

首先要把不需要的服务停掉

[root@axinlinux-01 ~]# systemctl stop mongdod

[root@axinlinux-01 ~]# systemctl disable mongod

gitlab也需要关闭

[root@axinlinux-01 ~]# yum install git #如果下载的时候比较慢,可以将不相关的repo文件停掉

[root@axinlinux-01 ~]# cd /etc/yum.repos.d/ #怎么停掉呢?cd到/etc/yum.repos.d目录下

[root@axinlinux-01 yum.repos.d]# ls #将不相关的repo文件停掉。就是改个名字

CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo mongo.repo

CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo gitlab_gitlab-ce.repo zabbix.repo

[root@axinlinux-01 yum.repos.d]# mv gitlab_gitlab-ce.repo gitlab_gitlab-ce.repo.bak #这样将不相关的停掉

[root@axinlinux-01 yum.repos.d]# mv mongo.repo mongo.repo.bak

[root@axinlinux-01 yum.repos.d]# mv zabbix.repo zabbix.repo.bak

以下操作是解决一系列问题之后的步骤:

1.cd / home#建议不要到root或home下,容易出问题,

2.https://github.com/jumpserver/jumpserver/tree/0.3.3 到这个地址下,下载zip。因为克隆的话出问题克隆不下来

3.unzip jumpserver-0.3.3.zip #然后解压这个zip

4.cd jumpserver-0.3.3 #cd 进去

5.cd install/ #再cd到install目录下

6.python install.py #执行install.py

问题:执行phython install.py时报错You are using pip version 8.1.2, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
安装JumpServer 依赖的python库失败!
解决:执行pip install --upgrade pip

问题:执行phython install.py时报错ERROR: Cannot uninstall 'pyinotify'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解决:sudo pip install --ignore-installed phython

注意:

1. 安装过程中要求输入数据库密码时,直接回车就行 2. 完成安装后,请访问web,继续查看后续文档 3. 如果启动失败,请返回上层目录,手动运行./service.sh restart启动 4. 默认账号密码 admin 5Lov@wife

请输入您服务器的IP地址,用户浏览器可以访问 [192.168.193.133]: #回车

是否安装新的MySQL服务器? (y/n) [y]: n #因为之前就安装了mysql,所以就不在安装了

请输入数据库服务器IP [127.0.0.1]: #回车

请输入数据库服务器端口 [3306]: #回车

请输入数据库服务器用户 [jumpserver]: #此时可以在开一个终端,来创建以及授权(点击xshell标签右键>复制ssh渠道。

问题点:但是,阿鑫在做的时候,到下面管理员那一步骤的时候报错了,报错信息如下:

django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE6\\x9C\\xBA\\xE6\\x88\\xBF' for column 'name' at row 1")

问题根源:网上查找同类问题,应该是mysql数据编码的问题,django连接的数据库编码字符集要求utf8,不然报错

解决方法的连接:https://cloud.tencent.com/developer/article/1139768

解决方法:

打开mysql数据库的配置文件

[[email protected] ~]# vim /etc/my.cnf [mysqld] #在mysqld模块下增加以下两个参数 character_set_server=utf8 init_connect='SET NAMES utf8'

[root@localhost ~]# /etc/init.d/mysqld restart

注意:新版MySQL(如:5.5)或MariaDB等,mysqld启动时可能会遇到“[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’”的错误;就应该在[mysqld]中用 character_set_server=utf8 替换掉 default_character_set=utf8

2.删除原来创建的jumpsrvice问题数据库

create database jumpserver;

3.再打开mysql数据库创建django连接的数据库

[root@localhost ~]# mysql -uxxxx -pxxxxxx mysql> show variables like'character%'; //运行这语句查看一下character_set_database参数是否utf8 mysql> set character_set_database=utf8; //如果不是utf8,运行此语句设置一下 +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ mysql> create database jumpservice; //之后就可以正常创建jumpservice数据库了

mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123';

4.[[email protected] install]# python install.py //重新执行命令即可安装成功

另外一种情况,也许是用户名或者库授权有问题,建议删除jumpserver库,重新建立一个新的并授权。

> create database jumpserver; > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'asd9577';

请输入数据库服务器密码: jump123jump

请输入使用的数据库 [jumpserver]:

连接数据库成功

请输入SMTP地址: smtp.163.com

请输入SMTP端口 [25]:

请输入账户: wangxinlinux@163.com

请输入密码: wangxin789

(535, 'Error: authentication failed')

是否跳过(y/n) [n]? : y

 

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

 

是否继续? (y/n) [y]: y

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

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

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

Starting jumpserver service: [ 确定 ]

 

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

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

[root@axinlinux-03 install]# netstat -lntp|grep 8000
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      17999/python  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

23.7 登录jumpserver

 

Jumpserver使用

1.浏览器输入ip:8000 访问jumpserver

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

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

创建用户组 运维

创建用户 aming

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

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

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

 

 

实例:

 

 

 

 

 

 

 

以上:

资产管理::也就是cmdb了。之前说到jumpserver有cmdb的功能。就在这来体现

资产组:比如开发的资产组、测试的资产组、线上的资产组等等

产看资产:资产组里对应的机器,不仅仅有服务器,还有交换机、路由器等等,都可以列到这里面来

查看机房:利用机房去划分

 

以上:

授权管理:系统用户:系统用户就是我们要设置一个跳板机,跳板机要登录到远程服务器上去,我们把它叫做客户机。那客户机要登录,你首先要有一个用户。这个用户就是系统用户

jumpserver里面有三种用户:第一种就是登录jumpserver的用户

第二种就是登录客户机的用户。也就是上面说的系统用户

第三种在设置里,里有一个默认管理用户。我们要想实现自动化,想批量的到客户机上去执行一些命令,那就要有一个用户去执行。比如我要给客户机创建一个系统用户,也要有一个有权限的管理员用户去做呀。这个用户就叫做管理用户。这个用户平时不用,管理机器的时候才会用。你想想jumpserver要想跟你的机器去通信,做一些事情,那肯定要有一个有权限的用户才行,也是在客户机上创建的,但是要在jumpserver里面去配置一下,比如密钥

授权管理:授权规则:就是那些用户有权限连,哪一组机器或者哪一些机器。去给他划分好严格的权限。比如运维组的可以去连所有的机器。那数据中心的只有数据中心的几台机器,其他的不给权限

 

以上

日志审计:就是比如我看看你的额登录历史,都有谁登录过。还有执行过的批量命令,上传下载的东西。命令里有一个命令回放的功能

 

以上

上传下载:上传和下载文件

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

23.8 创建管理用户

 

 

 

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

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

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

授权管理,系统用户,添加系统用户,该用户为我们登录所有客户机的用户

授权规则,添加规则,创建授权规则

 

管理用户需要到每一台客户机上去创建,而且也要在jumpserver服务端(界面)设置好这个用户,叫什么,以及对应的密钥(界面上指的是私钥)

如果我们要密钥登录一台机器的话,本机要有一个私钥,对方要有一个公钥。

[root@axinlinux-03 ~]# cd .ssh/ #在本机去生成一个密钥对

[root@axinlinux-03 .ssh]# ls

authorized_keys id_rsa id_rsa.pub known_hosts

[root@axinlinux-03 .ssh]# ssh-keygen -f jump #-f指定密钥对的名字

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:
SHA256:mRq6w2yvOhbIpLNx2sTpGbfOe6ISdgtLd4RD16nMVpw root@axinlinux-03
The key's randomart image is:
+---[RSA 2048]----+
|      o o        |
|   . . E         |
|  . = o          |
| . o *   o       |
|+o .+ . S        |
|*=Bo.o o         |
|o@=B+..          |
|+.*oB..          |
| oo**B.          |
+----[SHA256]-----+

[root@axinlinux-03 .ssh]# ls

authorized_keys id_rsa id_rsa.pub jump jump.pub known_hosts #会有两个文件 jump jump.pub

[root@axinlinux-03 .ssh]# cat jump #需要的是jump(私钥),把它粘贴要界面下位置

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAoZMb8N+DFgWp1GNNp6oBBRO1KSJNY3BMi+p1gVDt93gPbwIf
XnC9BHjyeDNlXR14r21VN2vwx3FI5rIGoe/34kohjGbhbc8QeSD+xlWz9e/CxkTM
v6fp75xZ1EkFGrgnn/eqtxR5Ri8JOcE8492Xg1QNArnnYZQbEDTmHeZhedTnMv+I
s36a/8U2dQX4boRWmq23qNhsYRAkRx+f6xB5WcO/VGQvl8159hlxfXqLx7FCq9cW
J9g7vWliv6W8T3LtJWJ0oSHPqfAfaNKi5JJ/l5imTAcqwhppZDMz6Stvsr9dfsln
bBTDS6PrNNZvwqGc9ejhKVTBAjYMwb7L9xCtkQIDAQABAoIBAGXSxJf+86hsN0O+
tRCFhZECg3eBw414FvVR821kaCM9iVRm3QfyOlxYME3p7eZJjWXYnAyKPLojvVKN
PLrO9MOp/gxyRXyjMnlzfrvVBM1npLK4ZuQdWMMFIGM1BT96cJZSSUaJY4gEWmcI
TWw4mKRN0sk2CQgogwmqnJ6ZMjLJJaVD3zTNtpBHzOLe2EACi0JocmcVWIro2dJs
NF+FJr2r6BwmtavDZSbgWgF+UjqSvXj0sPJwOH4BTsOVueyNjdOXdyc53fywYh78
YjVdHNLVsKTJfO1sHMvUAFghI4mE86wrX8m2PurNQzqVAevQyVRVyHjqM65jWLa4
n0HAd0ECgYEA1dIRtUrqw6+sqdpLv04DfMsEKSDEGKzqy5wCn/lAwvibAJTwF+N+
g19uPgsn//ulC/pmdXhFI8Jl+eiurIO8vYvHwJe5X+uU2BHLx6LrLJTcUYJ9u47O
eMRg5x4sRIZN5PREF/gFzNi0t8QK9jKhvG+EhKR/3dh4Y3bvfk3kY0kCgYEAwXKf
SgkStrpaTpdrTe4AA/Xog9rJQrAAvxn3GqL26mjz5iA8gz5b1nxBF2GVse4lMWIL
LdqA7swGRk2LKCdaHNL8vRte667rlbEMlrqCCix0Mo6G/N8agzd9xw43ItOUemy2
XV/Z+ZKZ0vN8j1hCV3DCSXLCU151Q21mpMCPsAkCgYBEaqUz5zbbSpjq+GiIXAQN
qEA6kLtuUdYHNHI6kdzBBh9CvmVcn3RZwO1beOJhrDmRbZvfNo6Y9JkAsA1EMhrw
Y4uU+ndcU9sakAcuZ9jsOO2OPzzQCM/UILIJAcSUYI0IF4i6SqhAdY7NxjLjuCu8
ScqTTreDWsKawPG87luH0QKBgQC8Nhw6uRcnB6qjenkhSiVjtRazauOT6Y/gXo/n
r5SSvuhGByk4/Cv4Q85ExGITysMPB/geddAqBgE412tD9v2au8DA8OdqYTa+3pKD
+BRbd6LaKYe2cg7mic/rIq6MSNTWQ/0uXfrC8lqNPu76vIFXd9LgCTJ+UJHAt6k9
NEjYmQKBgECnHY4+ynSLQCIU9rNhq0CAkA+AnHpK2T+yuMFFSaTzXHI1l/wNj3t5
PKOk1ppm1QoNEu6a3y8FJoo44SbloAeoAin3QrmPKCeujzGzI6LtWOUov27MbEaI
aJZjYyILRYXiodsFp96MdsNwI7dp9UvpNnqJRZoLte0gpI7H5NtP
-----END RSA PRIVATE KEY-----

管理用户是指客户端上的如root等高权限账号(或拥有NOPASSWD: ALL sudo权限),用来推送新建系统用户。相当于说这个管理用户可以做各种各样的操作

接下来,我们到对应的客户机上去创建这个用户(jump管理用户)

[root@dazuoye02-01 ~]# useradd jump #在这台客户机上,创建jump用户,这个用户作为管理账户。以后每增加一台机器都要增加这个用户

[root@dazuoye02-01 ~]# su - jump #接下来切换到jump用户

[jump@dazuoye02-01 ~]$ mkdir .ssh #创建authorized_keys

[jump@dazuoye02-01 ~]$ vim .ssh/authorized_keys #服务端linux上生成的公钥(jump.pub)粘贴到这个文件里来

[root@axinlinux-04 .ssh]# cat jump.pub #将服务端linux上刚才生成的这个公钥粘贴到上面那个文件里

[jump@dazuoye02-01 ~]$ chmod 700 .ssh/ #修改目录的权限为700

[jump@dazuoye02-01 ~]$ chmod 400 .ssh/authorized_keys #修改文件的权限400

检查selinux和iptables

[root@axinlinux-03 .ssh]# ssh -i jump jump@192.168.193.131#使用ssh -i来指定使用jump秘钥来登录客户机

The authenticity of host '192.168.208.135 (192.168.208.135)' can't be established.

ECDSA key fingerprint is SHA256:ipSyrFLdSRyMxARq/E/2S09fJSD9dz+R/eSm/baC434.

ECDSA key fingerprint is MD5:60:35:cf:94:59:97:4e:05:ec:3b:ee:25:e3:d6:e2:ea.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.208.135' (ECDSA) to the list of known hosts.

Last login: Sat Dec 1 00:00:16 2018

[jump@dazuoye02-01 ~]$

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3866192/blog/3066329

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值