开源跳板机jumpserver的安装部署和使用详细教程及踩坑经验
前言
jumpserver是一个开源的跳板机解决方案,用pyton开发,支持二次开发,还继承了ansible用于提供服务器的批量管理,而且能够提供绝大多数的跳板机功能,是一个非常不错的开源项目,也完全支持在生产环境中的使用部署。
安装篇
jumpserver需要依赖于mysql数据库,python开发工具的支持,所以需要安装一系列软件。
- 首先配置好yum源,如果能上网用默认yum源即可,然后安装软件包:
yum -y install Git python-pip MySQL-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
- jumpserver项目托管在github上,用git克隆jumpserver项目到本地:
git clone https://github.com/jumpserver/jumpserver.git
git checkout master #切换到master分支,默认在dev分支
- 进入install目录安装jumpserver
cd /opt/jumpserver/install
./install.py
- 安装过程中会自动下载并安装一些软件包,其中包括数据库和配置smtp服务器用于发送邮件。如果本地已经安装了mysql数据库,那么就不需要再次安装数据库,只要创建相应的库和授权用户即可,数据库字符集需要为utf8。
- 安装过程中会使用pip下载东西,如果中间报错,则可以手动指定安装源:
pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
- 中间需要配置smtp服务器,此处需要特别注意,我测试过qq邮箱,新浪邮箱,163邮箱和搜狐邮箱用于发送邮件,发现在安装过程中发送测试邮件都能成功,但是等真正添加用户的时候则无法发送邮件,要么就是页面卡住不动,要么就是直接报错误页,只有搜狐邮箱能够正常使用。
- 按照提示进行所有流程的安装,安装完成之后访问http://ip:8000端口即可登录到jumpserver。
使用篇
jumpserver的使用还是很简单明了的,一下为具体步骤:
-
添加用户,需要填入用户名,真实名,也可以提前添加用户组,然后把用户加入到用户组中,此处需要注意:此处的用户名其实是在jumpserver服务器上添加了一个用户,在jumpserver服务器cat /etc/passwd即可看到该用户:
-
添加资产,资产可以是服务器和网络设备,需要指定设备名,ip地址和管理用户。注意:管理用户需要使用具有添加删除用户权限的用户,可以使用root。因为jumpserver会在被管理的后端主机上通过此处指定的管理用户来添加指定的用户和sudo权限:
-
配置sudo授权,用于添加sudo授权。添加sudo授权的作用是把sudo授权和指定用户做权限绑定:
-
添加系统用户:
注意:
系统用户和管理用户的关系比较绕,其实是这样的关系:比如公司有一个用户为小明(xiaoming),则添加管理用户xiaoming,此时在jumpserver上会存在xiaoming这个用户。系统用户是后端被管理服务器上已经存在的用户,比如后端服务器上有super用户,则添加系统用户的时候就需要指定用户名为super,并且关联sudo,为super用户指定他的权限。添加完成之后需要点击推送,然后把系统用户的sudo权限推送到指定的后端服务器上,让指定服务器上的系统用户和sudo权限关联起来。
-
添加授权规则,用于给指定用户授权他可以访问的服务器:
-
此时用户可以登录当时添加系统用户时填入的邮箱,获取他的web登录密码和ssh密钥密码来登录服务器,下边分别介绍两种方法:
- web界面登录:
-
首先登录邮箱查看自己的密码:
-
登录服务器,可以看到自己能够管理的服务器:
-
点击查看主机,连接即可登录:
-
- 密钥登录方法:
- 从邮箱中下载自己的密钥,输入密钥密码(密钥密码在邮件中可以看到),然后导入到xshell中:
- 此时登陆jumpserver,输入添加的管理用户,此处为wzh,选择密钥登录,输入密钥密码,然后就可以登录到jumpserver了,然后按照提示就可以登录到后端主机了:
- 从邮箱中下载自己的密钥,输入密钥密码(密钥密码在邮件中可以看到),然后导入到xshell中:
- web界面登录:
-
监控和审计功能,“监控”用于实时监控当前登录人员所有正在执行的操作;“统计”用于查看所有已经执行过的命令;“阻断”用于踢出用户: