四、 部署jumpserver

1). 下载代码

cd /opt/

git clone https://github.com/ibuler/jumpserver

如果克隆不下来去https://github.com/ibuler/jumpserver 下载代码

2. 如果是下载的,需要重命名

mv jumpserver-master jumpserver    ## 切记最终是 /opt/jumpserver/哦

3. 下载建立数据库, 并授权

yum -y install mysql-server     
serivce mysqld start     
mysql     
mysql> create database jumpserver charset='utf8'; # 否则中文可能乱码    
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'redhat';

mysql> grant all on jumpserver.* to 'jumpserver'@'localhost' identified by 'redhat';

4. 编辑配置文件

1) 修改jumpserver的配置文件, 主要是修改一下db和key,下面的不动

vim jumpserver.conf     
#coding:utf-8     
   
[db]     
host = 127.0.0.1     
port = 3306               
user = jumpserver         # 授权的用户  
password = redhat         # 授权密码
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

vim shell.conf    
   
#!/bin/bash    
   
host=127.0.0.1    
ldapassword=redhat    
domain=dianping    
suffix=com    
#host2=172.16.2.74    
10 #host2_port=2001    

3) 添加一个admin用户

useradd admin    
echo 'redhat' | passwd --stdin admin    

4) 安装依赖的python库,如果有epel源可以 yum -y installl python-pip,也可以源码安装参考:    http://my.oschina.net/zhangxu0512/blog/175208

yum -y install python-devel python-crypto mysql-devel # MySQLdb也就是mysql-python依赖   
pip install django paramiko==1.6 pam mysql-python pexpect pycrypto-on-pypi -i http://pypi.douban.com/simple    

5) 初始化库

cd webroot/AutoSa/    
python manage.py syncdb    
no    

6) 测试运行

chmod +x manage.py    
chmod +x runserver    
chmod +x ../../*.sh      
chmod 777 ../../logs    
./runserver      #默认监听80,可以修改    
   
浏览器查看,密码是 第3步 admin的账号和密码    

   

运维堡垒机(跳板机)系统 部署篇 (二)_运维堡垒机    


五、 测试添加用户主机登录

1) 登录

账号是admin,密码是 第3部添加的那个密码

2) 添加用户, 提示添加成功,才算成功,如果不成功,请看./runserver那里的提示 

密码:是指登录web和跳板机的密码(如果禁用密码登录就不能登录了),key密码是登录跳板机密钥的密码,我的想法是不允许跳板机使用密码登录,只允许使用密钥,需要修改sshd_config,另外查看用户里面的Key目前不允许admin下载

运维堡垒机(跳板机)系统 部署篇 (二)_运维堡垒机_02

3) 添加主机

运维堡垒机(跳板机)系统 部署篇 (二)_ldap_03

4) 授权

添加权限-添加权限

运维堡垒机(跳板机)系统 部署篇 (二)_ldap_04

5) 退出admin,登录jery账号,可以更改各种密码,然后下载密钥

运维堡垒机(跳板机)系统 部署篇 (二)_ldap_05

6) 将下载的密钥导入xshell或者其他shell中,输入密码

运维堡垒机(跳板机)系统 部署篇 (二)_ldap_06

7) 使用密钥登录跳板机

运维堡垒机(跳板机)系统 部署篇 (二)_jumpserver_07

8) 登录测试

cd /opt/jumpserver    
python jumpserver.py    
试试各种功能    

运维堡垒机(跳板机)系统 部署篇 (二)_jumpserver_08

9) 查看日志 /opt/jumpserver/logs中

运维堡垒机(跳板机)系统 部署篇 (二)_jumpserver_09

10) 最终没确认没问题将目录下面的jumpserver.sh移动到 /etc/profile.d/中,来让登录时运行堡垒机脚本

mv jumpserver.sh /etc/profile.d/    

运维堡垒机(跳板机)系统 部署篇 (二)_运维堡垒机_10


11) 目前web版本没有管理sudo的功能,所以需要安装phpldapadmin来管理sudo,可以控制该用户再哪些服务器上有sudo权限,可以执行哪些命令 ,phpldapadmin安装参考 http://zhumeng8337797.blog.163.com/blog/static/100768914201010994913503/

运维堡垒机(跳板机)系统 部署篇 (二)_运维堡垒机_11


题后:目前版本有些bug, 不建议生产中使用,虽然笔者已经在生产中使用了,因为需要考虑ldap的主备,jumpserver的主备,如果能理解原理,可以对代码进行改进,并应用到生产中,