四、 部署jumpserver
1). 下载代码
1 cd /opt/
2 git clone https://github.com/ibuler/jumpserver
如果克隆不下来去https://github.com/ibuler/jumpserver 下载代码
2. 如果是下载的,需要重命名
1 mv jumpserver-master jumpserver ## 切记最终是 /opt/jumpserver/哦
3. 下载建立数据库, 并授权
1 yum -y install mysql-server
2 serivce mysqld start
3 mysql
4 mysql> create database jumpserver charset='utf8'; # 否则中文可能乱码
5 mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'redhat';
6 mysql> grant all on jumpserver.* to 'jumpserver'@'localhost' identified by 'redhat';
4. 编辑配置文件
1) 修改jumpserver的配置文件, 主要是修改一下db和key,下面的不动
1 vim jumpserver.conf
2 #coding:utf-8
3
4 [db]
5 host = 127.0.0.1
6 port = 3306
7 user = jumpserver # 授权的用户
8 password = redhat # 授权密码
9 db = jumpserver # 数据库
10
11 [jumpserver]
12 log_dir = /opt/jumpserver/logs/
13 user_table = UserManage_user
14 assets_table = Assets_assets
15 assets_user_table = Assets_assetsuser
16 key = 88aaaf7ffe3c6c04 #可修改此key需要是16位
17 useradd_shell = /opt/jumpserver/useradd.sh
18 userdel_shell = /opt/jumpserver/userdel.sh
19 sudoadd_shell = /opt/jumpserver/sudoadd.sh
20 sudodel_shell = /opt/jumpserver/sudodel.sh
21 keygen_shell = /opt/jumpserver/genkey.sh
22 chgpass_shell = /opt/jumpserver/chgpass_shell.sh
2) 修改bash调用的配置文件 shell.conf
1 vim shell.conf
2
3 #!/bin/bash
4
5 host=127.0.0.1
6 ldapassword=redhat
7 domain=dianping
8 suffix=com
9 #host2=172.16.2.74
10 #host2_port=2001
3) 添加一个admin用户
1 useradd admin
2 echo 'redhat' | passwd --stdin admin
4) 安装依赖的python库,如果有epel源可以 yum -y installl python-pip,也可以源码安装参考: http://my.oschina.net/zhangxu0512/blog/175208
1 yum -y install python-devel python-crypto mysql-devel # MySQLdb也就是mysql-python依赖
2 pip install django paramiko==1.6 pam mysql-python pexpect pycrypto-on-pypi -i http://pypi.douban.com/simple
3
5) 初始化库
1 cd webroot/AutoSa/
2 python manage.py syncdb
3 no
6) 测试运行
1 chmod +x manage.py
2 chmod +x runserver
3 chmod +x ../../*.sh
4 chmod 777 ../../logs
5 ./runserver #默认监听80,可以修改
6
7 浏览器查看,密码是 第3步 admin的账号和密码
五、 测试添加用户主机登录
1) 登录
账号是admin,密码是 第3部添加的那个密码
2) 添加用户, 提示添加成功,才算成功,如果不成功,请看./runserver那里的提示
密码:是指登录web和跳板机的密码(如果禁用密码登录就不能登录了),key密码是登录跳板机密钥的密码,我的想法是不允许跳板机使用密码登录,只允许使用密钥,需要修改sshd_config,另外查看用户里面的Key目前不允许admin下载
3) 添加主机
4) 授权
添加权限-添加权限
5) 退出admin,登录jery账号,可以更改各种密码,然后下载密钥
6) 将下载的密钥导入xshell或者其他shell中,输入密码
7) 使用密钥登录跳板机
8) 登录测试
1 cd /opt/jumpserver
2 python jumpserver.py
3 试试各种功能
9) 查看日志 /opt/jumpserver/logs中
10) 最终没确认没问题将目录下面的jumpserver.sh移动到 /etc/profile.d/中,来让登录时运行堡垒机脚本
1 mv jumpserver.sh /etc/profile.d/
11) 目前web版本没有管理sudo的功能,所以需要安装phpldapadmin来管理sudo,可以控制该用户再哪些服务器上有sudo权限,可以执行哪些命令 ,phpldapadmin安装参考 http://zhumeng8337797.blog.163.com/blog/static/100768914201010994913503/
题后:目前版本有些bug, 不建议生产中使用,虽然笔者已经在生产中使用了,因为需要考虑ldap的主备,jumpserver的主备,如果能理解原理,可以对代码进行改进,并应用到生产中,