本篇文章介绍Jumperserver,包括安装部署,创建用户组,创建用户加入组(Jumperserver用户),创建管理用户(创建密钥管理,和客户端做免密钥登录),创建系统用户(管理用户会把系统用户自动创建到客户端),创建资产(通过ssh免密钥实现连接),授权资产给用户或组,账号推送,创建数据库并进行应用测试,使用两个系统用户测试sudo提权,测试命令过滤加强系统安全性,多因子认证,网域功能。Jumperserver部署很简单,几条命令实现安装部署,使用也都是中文,点点点即可,但是在公司,你要是新接触可能两天都研究不明白,而在我这里,一篇文章即可。
目录
Jumperserver安装
Jumpserver用户与用户组
创建资产
授权资产给用户或用户组
一、账号推送
二、授权资产
三、验证测试(以开发-小王访问Web01为例)
四、Xshell连接
创建数据库
sudo提权
命令过滤
多因子认证
网域功能
一、准备服务器
二、创建网关
三、添加资产
审计台
这里我安装在虚拟机,2核,4G运行内存(根据情况调整)
#1、curl命令下载脚本,bash执行,一键自动安装部署
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
#2、启动jumperserver
cd /opt/jumpserver-installer-v3.2.2
./jmsctl.sh start #启动
./jmsctl.sh -h #查看帮助
./jmsctl.sh down #停止
./jmsctl.sh uninstall #卸载
#3、浏览器访问,默认账户密码admin,admin,登录并修改密码
用户分类:
1、登录jumperserver的用户
2、通过jumpserver连接后端服务器的用户,需要在后端所有的服务器上创建普通用户
3、特权用户,免密钥连接后端服务器的root账号
先创建用户组
再去用户列表创建用户,并将用户加入用户组,这里的用户是指jumperserver的登录用户
输入相应内容,下滑选择保存并继续添加,注意!实际工作中请不要将用户名设置为中文,否则Xshell会很难通过用户名和密码登录
在Default右键创建节点
可以选中节点,在节点里创建资产,这里假设Web01在阿里云,Web02在IDC机房
这里我们先创建密钥对,将公钥分发给客户端,导出私钥,待会儿用
[root@Jumper ~]# ssh-keygen
[root@Jumper ~]# ssh-copy-id -i .ssh/id_rsa.pub 172.16.1.7
[root@Jumper ~]# ssh-copy-id -i .ssh/id_rsa.pub 172.16.1.8
[root@Jumper ~]# sz .ssh/id_rsa
[root@Jumper ~]#
保存并继续创建,修改信息后,提交
授权开发组(开发-小王)只能连接阿里云节点(Web01),运维组(运维-小李)只能连接IDC机房节点(Web02)
推送设置里可以设置想要给普通用户的命令权限
创建好后需要手动执行,不手动执行登录终端的时候会没有用户
实际工作,我们肯定不是在网页上操作,都是利用Xshell远程连接,这里的登录用户名和密码是跳板机的用户和密码,所以说实际操作时,不要将用户名设置为中文,否则会登录不上,这里我用admin测试
先将资产给admin授权一下,先账号推送
再创建授权规则
再输入1可以进入Web01
我们可以通过Xshell登录脚本,实现点击会话自动登录
[root@Jumper ~]# ssh-copy-id -i .ssh/id_rsa.pub 172.16.1.51
重新去授权一下资产
点击连接自动连接至数据库
实际工作使用Xshell连接,Xshell连接数据库与连接服务器同理,注意用户名不能是英文,不再演示。
上面提到了sudo提权在账号推送推送参数的位置
[root@Jumper ~]# which touch
/usr/bin/touch
提交后手动执行一次
运维-小李无法创建
开发-小王授权后可以通过sudo创建
先创建命令组
这里有个忽略大小写意思是,你输入RM也不行,也被过滤掉,如果不忽略大小写意思就是RM可以用,但是rm不能用
再创建命令过滤的规则
可以在系统设置里进行全局设置,也可以在创建用户的时候进行开启认证
退出重新登录admin用户,输入账号密码登录后选择,启用MFA
这里无需安装,直接下一步(图片违规了)
微信小程序搜MFA验证器,扫码添加,获取验证码后输入进去(图片违规了)
启用成功,会跳转再次登录,输入小程序显示的验证码
网域功能是指比如有的服务器在其他地方只有内网IP,就需要通过代理服务器进行跳转,网域功能指的是一种方式,允许用户将特定的资源分组在一个域名之下以便管理。
我这边在阿里云购买两台服务器,一台有内网和公网,一台只有内网,将这两台服务器创建在同一
网域下,实现对两台服务器的管理,先把公钥粘贴到服务器上
[root@Jumper ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoyNcgukamY75r+VfIUDdUAcjc6s4p1PWU9c4NZtYuHVt3AP57IkvwMNg9a+hogWbCk8h6clGTpQVOOE68vK1FlnOYDMsq6tjpIiCEFckm+bfAdnhrQcecsexl5RiBZcIVTGKcNoH3KmqDP1DDymQqP4JICZJCzBzFVpbGTWArxKo4XLnuOv/0oKXbhEp2RGm+v2GMrIN7eTwYooDqbEzoYrelEISaC6ZXfRs8Dj6hpFb/D0LhjbNUrGbmCgW8NOW5FMDsTQ3MYKlS3PUKxtvco2750Edx0KsS2/K+J21M638ZOHMxCj2ne7TeMNBquZUYMNBjZ+NDEYJbMxybS0kP root@Jumper
[root@iZrj9gpfp1kgldvwunxf5hZ ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoyNcgukamY75r+VfIUDdUAcjc6s4p1PWU9c4NZtYuHVt3AP57IkvwMNg9a+hogWbCk8h6clGTpQVOOE68vK1FlnOYDMsq6tjpIiCEFckm+bfAdnhrQcecsexl5RiBZcIVTGKcNoH3KmqDP1DDymQqP4JICZJCzBzFVpbGTWArxKo4XLnuOv/0oKXbhEp2RGm+v2GMrIN7eTwYooDqbEzoYrelEISaC6ZXfRs8Dj6hpFb/D0LhjbNUrGbmCgW8NOW5FMDsTQ3MYKlS3PUKxtvco2750Edx0KsS2/K+J21M638ZOHMxCj2ne7TeMNBquZUYMNBjZ+NDEYJbMxybS0kP root@Jumper
[root@iZrj9gpfp1kgldvwunxf5gZ ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoyNcgukamY75r+VfIUDdUAcjc6s4p1PWU9c4NZtYuHVt3AP57IkvwMNg9a+hogWbCk8h6clGTpQVOOE68vK1FlnOYDMsq6tjpIiCEFckm+bfAdnhrQcecsexl5RiBZcIVTGKcNoH3KmqDP1DDymQqP4JICZJCzBzFVpbGTWArxKo4XLnuOv/0oKXbhEp2RGm+v2GMrIN7eTwYooDqbEzoYrelEISaC6ZXfRs8Dj6hpFb/D0LhjbNUrGbmCgW8NOW5FMDsTQ3MYKlS3PUKxtvco2750Edx0KsS2/K+J21M638ZOHMxCj2ne7TeMNBquZUYMNBjZ+NDEYJbMxybS0kP root@Jumper
测试也没有问题
执行完毕,用开发-小王进行远程管理,没有问题
可以在审计台查看会话记录,命令记录,可以在线监控也可以看回放,也可以终止用户的连接等等操作。
我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!