linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

发布于 2018-05-22  190 次阅读


jumpserver 介绍

官网:http://www.jumpserver.org/

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

Auth 统一认证

CMDB 资产管理

统一授权

日志审计

自动化运维(ansible)

安装 jumpserver

此处使用 jumpserver 0.3.2 做实验:

https://github.com/jumpserver/jumpserver/wiki/%E5%AE%89%E8%A3%85%E5%9B%BE%E8%A7%A3

最新版本 1.3.0 请参考官方安装文档:

http://docs.jumpserver.org/zh/latest/step_by_step.html

做实验前,先把所有不相关的服务停掉,或者拿另一台纯净的虚拟机做实验

[root@am-01:~#] mysql -uroot -pitsupport.0

mysql> create database jumpserver default character set utf8;

Query OK, 1 row affected (0.00 sec)



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

Query OK, 0 rows affected (0.03 sec)

#先创建对应数据库 jumpserver 和对应用户 jumpserver 及其密码

#如果 mysql 没安装,可自觉安装

#因为之后的步骤中,写入数据库的操作会有中文,所以创建数据库的时候需要加上'default character set utf8'
[root@am-01:~#] yum -y install git

[root@am-01:~#] cd /home/

[root@am-01:/home#] git clone git@github.com:jumpserver/jumpserver.git

正克隆到 'jumpserver'...

remote: Counting objects: 28403, done.

remote: Compressing objects: 100% (33/33), done.

remote: Total 28403 (delta 3), reused 18 (delta 3), pack-reused 28363

接收对象中: 100% (28403/28403), 39.26 MiB | 754.00 KiB/s, done.

处理 delta 中: 100% (19620/19620), done.

#使用 git,把 jumpserver 的远程仓库拉取下来
[root@am-01:/home#] cd jumpserver/

[root@am-01:/home/jumpserver#] ls

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

[root@am-01:/home/jumpserver#] git tag

0.1.0

0.1.1

0.2.0

0.2.1

0.3.0-beta

0.3.1

0.3.2

0.3.2-rc2

0.3.3

1.0.0

1.1.0

1.1.1

1.2.0

1.2.1

1.3.0

[root@am-01:/home/jumpserver#] git reset --hard 0.3.2-rc2

HEAD 现在位于 a114e17 修复 centos7 安装报错-平台不支持 (#603)

[root@am-01:/home/jumpserver#] ls

connect.py           docs     jasset  jumpserver       keys     manage.py      service.sh

docker-compose.yaml  init.sh  jlog    jumpserver.conf  LICENSE  README.md      static

Dockerfile           install  jperm   juser            logs     run_server.py  templates

#因为我这里需要使用 0.3.2 做实验,所以需要先回退到 0.3.2 版本
[root@am-01:/home/jumpserver#] cd install/

[root@am-01:/home/jumpserver/install#] ls

developer_doc.txt  docker  functions  initial_data.yaml  install.py  next.py  requirements.txt

[root@am-01:/home/jumpserver/install#] python install.py

#使用 python 脚本安装 jumpserver,漫长的等待~
请输入您服务器的 IP 地址,用户浏览器可以访问 [172.17.1.240]: 直接回车

是否安装新的 MySQL 服务器? (y/n) [y]: n

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

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

请输入数据库服务器用户 [jumpserver]: 直接回车

请输入数据库服务器密码: itsupport.0

请输入使用的数据库 [jumpserver]: 直接回车

连接数据库成功

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

请输入 SMTP 端口 [25]: 直接回车

请输入账户: 13421830635@163.com  

请输入密码: 输入你的邮箱密码

(535, 'Error: authentication failed')

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

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

#如果提示错误,可以先跳过

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

#继续等待

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

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

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

Starting jumpserver service:                               [  确定  ]

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

#根据提示做一些设置,最后提示安装成功
[root@am-01:/home/jumpserver/install#] cd ..

[root@am-01:/home/jumpserver#] cat jumpserver.conf

[base]

url = http://172.17.1.240

key = hk910qzk3hiyy34d

ip = 0.0.0.0

port = 8000

log = debug



[db]

engine = mysql

host = 127.0.0.1

port = 3306

user = jumpserver

password = itsupport.0

database = jumpserver



[mail]

mail_enable = 1

email_host =

email_port = 25

email_host_user =

email_host_password =

email_use_tls = False

email_use_ssl = False



[connect]

nav_sort_by = ip

#'jumpserver.conf'文件会记录你的配置信息,可以在这里手工更改

登录 jumpserver

使用客户端登陆 jumpserver 的 web 页面

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

修改管理员密码,邮箱等信息

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

用户管理界面可以管理用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

资产管理界面,也称为 CMDB

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

授权管理界面,其中要注意区分 jumpserver 所涉及到的三种用户

第一种,用来登陆 jumpserver 的用户

第二种,用来从跳板机登录到客户机的系统用户

第三种,指一个有权限在客户机做一些操作的用户,如创建用户等操作,一般只有在需要管理员权限的时候才会使用,此用户也叫管理用户

以下截图分别是对应三种用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

创建管理用户

[root@am-01:~#] cd .ssh/

[root@am-01:~/.ssh#] ls

authorized_keys.bak  id_rsa  id_rsa.pub  known_hosts

[root@am-01:~/.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:

14:7e:4c:92:d5:6c:10:19:93:5a:22:8f:3b:78:40:48 root@am-01

The key's randomart image is:

+--[ RSA 2048]----+

| .E.    ooBO     |

|  . . ..o=+.+    |

|   .   +o+o.     |

|    . ..o.       |

|     o .S        |

|    . +          |

|     . .         |

|                 |

|                 |

+-----------------+

[root@am-01:~/.ssh#] ls

authorized_keys.bak  id_rsa  id_rsa.pub  jump  jump.pub  known_hosts

#在安装了 jumpserver 的机器上生成名为 jump 的密钥,其中会生成 jump 命名的私钥 jump 和公钥 jump.pub

#创建密钥的时候可以使用-f 指定密钥文件名称

复制私钥 jump 的内容到 jumpserver 的 web 界面新建管理用户

linux 学习笔记-091-堡垒机-jumpserver 介绍,安装和登录 jumpserver,创建管理用户

到客户机上创建这个 jump 用户,并且得能做管理员的操作(sudo)

每台需要跳板机管理的客户机都需要做这步操作

先到跳板机上复制公钥信息

[root@am-02:~#] useradd jump

[root@am-02:~#] su - jump

[jump@am-02:~$] mkdir .ssh

[jump@am-02:~$] vi .ssh/authoirzed_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC16Bvz5MQt6veHyCAlRZbPGkupLcWa5qkNSdSQV6KBBDAdiC4SwmfDnxaOwU+kgf2d9lvuSeUfAnoMNTFas0Vl2ijFff1FlV+tFigeARd2thex8KeFhBf0qmKUDR6MAuvFCqUOIhD/NqmGXttqJodrRzzdloe3iC1utd9G/cX2Uv3hOJfkP1SOZLN582mdBBCQ0WQ8Hw2TQc6XS17zoCeFmStQniHv4GSAeanU45oV5/Jc1cz+nPInl7QT4o5MmmG1ug4vo6JgL+wN4dGApXI6izg6FvcNGExq91NxH1V4uSqIGhItvg/jRF3KqVZz0JpIkVo5OLCXaxp+b+Ka8xOv root@am-01

[jump@am-02:~$] chmod 700 .ssh

[jump@am-02:~$] chmod 400 .ssh/authorized_keys

[jump@am-02:~$] exit

登出

[root@am-02:~#] getenforce

Disabled

#客户机上创建 jump 用户,并设置好密钥信息,设置密钥文件的正确权限,切换回 root 用户并检查 selinux 是否关闭

跳板机上验证

[root@am-01:~/.ssh#] ssh -i jump jump@172.17.1.242

Last login: Tue May 22 18:49:58 2018

[jump@am-02:~$]

#ssh 远程登录的时候使用-i 可以指定使用哪个密钥验证

扩展

jumpserver 安装问题

http://ask.apelearn.com/question/17502