Red Hat6.x下堡垒机Jumpserver Version 0.3.2 配置
jumpserver的启动
[root@jump jumpserver-master]# sh service.sh status
jumpserver is running... [ OK ]
按照Jumpserver部署过程结尾的账号信息(admin/admin)登陆Jumpserver的web界面
修改admin超级管理员的密码
说明:只修改admin的密码即可,SSH秘钥不需要重新生成
然后注销,使用admin重置后的新密码登陆Jumpserver!
添加用户组(如下以添加ops用户组为例)
添加用户(如下以添加wangshibo用户为例;注意这个用户添加成功后,也会在Jumpserver部署机上自动生成。那么删除这个用户后,也会自动从部署机上删除)
然后到上面添加wangshibo用户时配置的邮箱里会收到一封邮件,如下:
对于上面邮件里的内容,要注意以下几点:
web登录密码:是指使用wangshibo用户登陆Jumpserver的web界面的密码,这个密码在王士博用户登陆到Jumpserver界面后可以修改。
密钥下载地址:是指下载wangshibo用户登陆Jumpserver部署机的密码的地址,可以通过打开邮件里的这个地址进行下载;也可以在wangshibo用户添加成功后,点击Jumpserver界面里"查看用户"->"wangshibo"后面的"下载"按钮。
ssh密钥文件密码:是指在使用wangshibo用户的key(即第2步中下载的秘钥)登陆Jumpserver部署机时要输入的密码。
----------------------------------------------------------------------------------------------------------------------
特别注意一点:
在Jumpserver里添加的用户的秘钥下载后默认是pem格式的秘钥文件。如果要在SecureCRT这样的客户端里登陆,还需要将这个转化为.pub的公钥文件才能使用!
做法如下:
1)将下载的这个wangshibo.pem秘钥文件放到任意一台linux主机上进行转化为.pub格式的公钥文件的操作(root账号下操作)
localhost:Downloads root# ssh-keygen -e -f wangshibo.pem >> wangshibo.pem.pub
Enter passphrase: //注意这里输入的密码就是上面邮件中的"您的ssh密钥文件密码:"
localhost:Downloads root# ls -l wangshibo.*
-rw-r--r--@ 1 kevin staff 1766 Sep 24 20:36 wangshibo.pem
-rw-r--r-- 1 root staff 506 Sep 24 20:39 wangshibo.pem.pub2)然后将转化后的wangshibo.pem.pub公钥文件拷贝给用户,使用SecureCRT客户端登录Jumpserver部署机。(如下图,PublicKey的方式要推放到最前面)
如下,需要输入的密码即是上面邮件中收到的ssh密钥文件密码(即 9f4ZCpvEiCy3wbS0)
1234567891011121314151617181920212223242526---------------------或者在MAC或linux终端里直接
ssh
使用.pem秘钥文件登陆------------------------
找到wangshibo.pem的下载路径,使用
ssh
登陆
localhost:~ root
# cd /Users/kevin/Downloads/
localhost:Downloads root
# ls -l wangshibo.pem
-rw-r--r--@ 1 kevin staff 1766 Sep 29 16:06 wangshibo.pem
localhost:Downloads root
# ssh -i /Users/kevin/Downloads/wangshibo.pem -p22 wangshibo@172.16.220.128 //需要在root账号下操作。普通用户要在sudo下操作,(sudo可以限制到只能ssh操作,比如:wangshibo ALL=(ALL) NOPASSWD: /usr/bin/ssh)
Enter passphrase
for
key
'/Users/kevin/Downloads/wangshibo.pem'
:
//
输入上面邮件中收到的
ssh
密钥文件密码(即 9f4ZCpvEiCy3wbS0)
Last login: Fri Sep 29 17:08:19 2017 from 10.45.225.9
Welcome to aliyun Elastic Compute Service!
### 欢迎使用Jumpserver开源跳板机系统 ###
1) 输入 ID 直接登录.
2) 输入 / + IP, 主机名 or 备注 搜索.
3) 输入 P
/p
显示您有权限的主机.
4) 输入 G
/g
显示您有权限的主机组.
5) 输入 G
/g
+ 组ID 显示该组下主机.
6) 输入 E
/e
批量执行命令.
7) 输入 U
/u
批量上传文件.
8) 输入 D
/d
批量下载文件.
9) 输入 H
/h
帮助.
0) 输入 Q
/q
退出.
Opt or ID>:
还可以做成expect脚本方式登陆:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758将下载的用户密钥文件(如wangshibo.pem)放到一台linux服务器的一个用户家目录(比如
/home/wangshibo
)下,编写expect脚本(安装参考:http:
//www
.cnblogs.com
/kevingrace/p/5900303
.html)
操作记录如下(wangshibo用户在这台linux服务器上有
sudo
ssh
的权限):
[wangshibo@sh-sre-man01 ~]$
pwd
/home/wangshibo
[wangshibo@sh-sre-man01 ~]$
cat
shanghai-jump
#!/bin/expect
set
timeout 30
spawn
sudo
ssh
-i
/home/wangshibo/wangshibo
.pem -p22 wangshibo@122.161.155.17
expect
"'/home/wangshibo/wangshibo.pem':"
send
"9f4ZCpvEiCy3wbS0\r"
interact
[wangshibo@sh-sre-man01 ~]$ .
/shanghai-jump
spawn
sudo
ssh
-i
/home/wangshibo/wangshibo
.pem -p22 wangshibo@122.161.155.17
Enter passphrase
for
key
'/home/wangshibo/wangshibo.pem'
:
Last login: Mon Oct 16 12:43:26 2017 from 111.110.111.141
Welcome to aliyun Elastic Compute Service!
### 欢迎使用Jumpserver开源跳板机系统 ###
1) 输入 ID 直接登录.
2) 输入 / + IP, 主机名 or 备注 搜索.
3) 输入 P
/p
显示您有权限的主机.
4) 输入 G
/g
显示您有权限的主机组.
5) 输入 G
/g
+ 组ID 显示该组下主机.
6) 输入 E
/e
批量执行命令.
7) 输入 U
/u
批量上传文件.
8) 输入 D
/d
批量下载文件.
9) 输入 H
/h
帮助.
0) 输入 Q
/q
退出.
Opt or ID>: p
[ID ] 主机名 IP 端口 系统用户 备注
[0 ] sh-sre-man01 111.110.111.141 2200 [
'ops'
,
'devs'
,
'work'
]
[1 ] sh-api-dmk01 111.110.111.140 22 [
'ops'
,
'devs'
,
'work'
]
[2 ] sh-api-dmk02 111.110.111.139 22 [
'ops'
,
'devs'
,
'work'
]
[3 ] sh-inf-deploy01 111.110.111.146 22 [
'ops'
,
'devs'
,
'work'
]
[4 ] sh-sre-monitor01 111.110.111.148 22 [
'ops'
,
'devs'
,
'work'
]
[5 ] sh-db-dmk01 111.110.111.142 22 [
'ops'
,
'devs'
,
'work'
]
[6 ] sh-db-dmk02 111.110.111.143 22 [
'ops'
,
'devs'
,
'work'
]
[7 ] sh-srv-dmk02 111.110.111.144 22 [
'ops'
,
'devs'
,
'work'
]
Opt or ID>: 2
[ID] 系统用户
[0 ] ops
[1 ] devs
[2 ] work
授权系统用户超过1个,请输入ID, q退出
ID>: 0
Last login: Sat Oct 14 23:30:26 2017 from 122.161.155.17
Welcome to aliyun Elastic Compute Service!
[ops@sh-api-dmk02 ~]$
---------------------------------------------------------------------------------------------------------------------
添加资产组、机房
现在开始添加机器资产(也就是添加要从跳板机登陆管理的目标机器)
注意一点:可以一台台添加,也可以选择使用批量添加,有批量添加的模版。这里我暂且使用单台添加作为演示。另外:管理用户是指目标客户机上真实存在用户,这个最好填目标主机的root用户(以及目标主机的root的真实密码),如果填写真实存在的普通用户,则它必须拥有NOPASSWD: ALL sudo权限。管理用户的作用是用于推送系统用户(也就是说这个管理用户最好使用root,如果是非root账号,那么它必须拥有NOPASSWD: ALL sudo权限!)
如下添加三台主机资产
通过"编辑"主机,将其划到相应的机房里,完善主机信息
下面开始权限管理的设置
先添加Sudo,这里的sudo其实是Linux中的sudo命令别名,一个sudo别名包含多个命令, 系统用户关联sudo就代表该系统用户有权限sudo执行这些命令。当然可以创建多Sudo,划分给不同权限的用户。如下,创建两个Sudo接着添加系统用户。系统用户是服务器上建立的一些真实存在的可以ssh登陆的用户,如work,ops,dev等,系统用户可使用资产的管理用户将其推送到添加的目标资产服务器上。这里我添加了三个系统用户,分别为work、ops、dev(添加时的用户密码随便定义,比如work@123、ops@123、dev@123)。这些系统用户在Jumpserver界面里添加成功后,会自动推送到添加的目标主机上。
特别需要注意一点:这里的系统用户不能使用root!必须是非root用户!然后通过定义的各种sudo进行不同的相关操作(比如允许ops切换到root账号下)系统用户创建好之后,一定要记得点击"推送",将这些系统用户及其密码、sudo的信息推送到添加的目标服务器上。当然,后续要是在jumpserver的界面里删除这个系统用户,那么目标机器上也会自动删除这个系统用户!如下,将这三个系统用户都推送到目标机器上。如果推送成功,则会出现一个类似"系统用户 work 推送成功[ test-vm03,test-vm02,test-vm04 ]"的提示。
可以在系统用户列表,点击系统用户名称,进去查看系统用户的推送情况。比如查看work系统用户的推送情况
---------------------------------------------------------------------------------------------------
新增主机的推送:
系统用户列表->点击系统用户名称(比如work)->work-未推送主机->点击新增主机,进行推送操作
---------------------------------------------------------------------------------------------------推送成功后还可以直接到目标机器上查看推送效果。比如到test-vm02机器上查看:
123456789101112131415[root@
test
-vm02 ~]
# cat /etc/passwd
.......
work:x:1000:1000::
/home/work
:
/bin/bash
ops:x:1001:1001::
/home/ops
:
/bin/bash
dev:x:1002:1002::
/home/dev
:
/bin/bash
[root@
test
-vm02 ~]
# cat /etc/sudoers
......
Cmnd_Alias SUPERADMIN =
/bin/
*,
/sbin/
*
work ALL = (root) NOPASSWD: SUPERADMIN
ops ALL = (root) NOPASSWD: SUPERADMIN
Cmnd_Alias DEVADMIN =
/usr/bin/vim
,
/usr/bin/tar
,
/usr/bin/gzip
,
/usr/bin/rsync
,
/usr/bin/tail
dev ALL = (root) NOPASSWD: DEVADMIN
如上,说明
test
-vm02机器已经被推送成功了。其他机器的检查方法跟上面一样。
---------------------------------------------------------------------------------------------------------------
这里说下推送失败的案例1:
在系统用户列表,点击系统用户名称,查看系统用户推送详情,把鼠标放到失败按钮上,会看到失败的原因。可以登陆其中的一台服务器比如test-vm02上,查看/var/log/message日志信息,再结合上面截图中的报错,原因是执行/etc/sudoers文件时,发现没有work用户!也就是说work用户没有useradd创建成功!那么就尝试在test-vm02机器上手动创建work账号,如下:
果然是useradd创建系统用户失败导致的!解决办法:
1[root@
test
-vm02 ~]
# rm -f /etc/gshadow.lock
这样就OK了!可以再次手动useradd创建work账号试试,创建成功后再userdel删除它!
最后别忘记在/etc/sudoers文件里删除底部添加的work账号的sudo设置信息,因为这是推送失败的那次添加的sudo信息,删除后重新推送下,否则配置信息就会重叠!
其他服务器的处理方法跟这个一样!---------------------------------------------------------------------------------------------------------------
再说下推送失败的案例2
解决方案:http://www.cnblogs.com/kevingrace/p/5893121.html
修改后,可以重启jempserver(即/opt/jumpserver/server.sh restart)---------------------------------------------------------------------------------------------------------------
最后进行"授权规则"的创建
到此,Jumpserver堡垒机的设置已完成!