1.jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户、资产、权限、审计 管理。jumpserver实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent。
Jumpserver特点:
1)完全开源,GPL授权
2)Python编写,容易再次开发
3)实现了跳板机基本功能,身份认证、访问控制、授权、审计 、批量操作等。
4)集成了Ansible,批量命令等
5)支持WebTerminal
6)Bootstrap编写,界面美观
7)自动收集硬件信息
8)录像回放
9)命令搜索
10)实时监控
11)批量上传下载
安装流程:
1.首先关闭selinux和设置防火墙条件(或者关闭)
setfenforce 0
/etc/init.d/iptables stop
2.安装依赖包:
yum -y install epel-release
yum clean all && yum makecache
yum -y update
yum -y install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
3.下载jumpserver
a.解压:tar zxf jumpserver-0.3.0.tar.gz
cd jumpserver-0.3.0-beta/install
b.执行快速安装脚本:pip install -r requirements.txt
c.查看安装的包:pip freeze
d.安装mysql数据库
建立数据库:create database jumpserver;
建立用户:grant all on jumpserver.* to 用户名@'ip' identified by "密码";
flush privileges;
e.安装jumpserver:
python install.py
请输入您服务器的IP地址,用户浏览器可以访问 [192.168.9.1]: 192.168.9.1 //jumpserver访问地址
是否安装新的MySQL服务器? (y/n) [y]: n //由于本机已经提前安装了mysql,所以这里就不需要更新了
请输入数据库服务器IP [127.0.0.1]: 192.168.9.1 //输入本机的ip地址,以连接mysql。最好提前测试下用这个账号权限是否能正常连接
请输入数据库服务器端口 [3306]: 3306
请输入数据库服务器用户 [root]: root //使用上面授权信息
请输入数据库服务器密码: 123456
请输入使用的数据库 [jumpserver]: jumpserver
连接数据库成功
请输入SMTP地址: smtp.sina.com //接着进行发件邮箱设置(需要登陆到自己的邮箱下,将POP3/SMTP服务功能开启)
请输入SMTP端口 [25]: 25 //这个邮箱设置一定要正确通过,否则后续添加用户时就不能正常发送邮件!
请输入账户: zabbix_ljlj@sina.com
请输入密码: c652810
请登陆邮箱查收邮件, 然后确认是否继续安装 //登陆邮箱,会收到一封"Jumpserver Mail Test!"的邮件,说明邮件测试通过
是否继续? (y/n) [y]: y
开始写入配置文件
开始安装Jumpserver, 要求环境为 CentOS 6.5 x86_64
开始更新jumpserver
创建数据库中的表。。。。。。
请输入管理员用户名 [admin]: admin //设置web管理员用户名和管理员密码
请输入管理员密码: [5Lov@wife]: admin
请再次输入管理员密码: [5Lov@wife]: admin
Starting jumpsever service: [确定]
安装成功,请访问web, 祝你使用愉快。
请访问 https://github.com/ibuler/jumpserver查看文档
安装过程中可能要的问题(一般发生在邮箱验证之后):
1.开始写入配置文件
Traceback (most recent call last):
File "/root/jumpserver-0.3.0-beta/install/next.py", line 19, in
from juser.user_api importdb_add_user, get_object, User
File "/root/jumpserver-0.3.0-beta/juser/user_api.py", line 3, in
from Crypto.PublicKey importRSA
File "/usr/lib64/python2.6/site-packages/Crypto/PublicKey/RSA.py", line 75, in
from Crypto.Util.number importgetRandomRange, bytes_to_long, long_to_bytes
File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in
if_fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
AttributeError: 'module'object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
原因:是python的pycrypto模块问题,需要卸载重装:
[root@jumpserver install]# pip uninstall pycrypto
[root@jumpserver install]# easy_install pycrypto
2.Traceback (most recent call last):
File "install.py", line 8, in
importMySQLdb
File "/usr/lib64/python2.6/site-packages/MySQLdb/__init__.py", line 19, in
import_mysql
ImportError: libmysqlclient.so.18: cannot openshared object file: No such fileor directory
解决办法:
查找这个libmysqlclient.so.18库文件,由于本机之前部署了mysql,所以可以查到这个文件(如果没有的话,可以安装mysql来获取这个文件)
[root@jumpserver install]# find / -name libmysqlclient.so.18
/usr/local/src/mysql-5.6.34/libmysql/libmysqlclient.so.18
/usr/local/src/mysql-5.6.34/libmysql/CMakeFiles/CMakeRelink.dir/libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
[root@jumpserver install]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
[root@jumpserver install]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/lib/
/usr/local/mysql/lib/
[root@jumpserver install]# ldconfig
然后再次执行上面的install.py脚本就OK了
3.django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE6\\x9C\\xBA\\xE6\\x88\\xBF' for column 'name' at row 1")
问题原因:网上查找同类问题,应该是mysql数据编码的问题,django连接的数据库编码字符集要求utf8,不然报错
修改配置文件:
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
[mysql]
default-character-set = utf8
重新启动数据库,再次执行安装脚本即可
4.还有可能出现的问题:
https://www.iyunv.com/thread-158572-1-1.html
如果出现启动失败的话,直接在项目目录下执行 ./service.sh start