官方资料链接
https://www.jumpserver.org/
https://docs.jumpserver.org/zh/master/ 文档
快速安装部署jumpserver
建议使用干净环境快速安装,安装过一些软件后,其中可能会安装一些不兼容的python库,如pycrypto djargo,会影响安装速度
快速安装环境jumpserver
centos 6.x x86_64 mini
iptables stop
selinux disable
①. 安装依赖rpm
#安装epel源信息 yum ‐y install epel‐release yum ‐y install git python‐pip mysql‐devel gcc automake autoconf python‐devel vim sshpass lrzsz readline‐devel
说明:软件部署安装前,要先将jumpserver软件的相关依赖软件包安装完毕
软件依赖包功能说明:
②. 下载jumpserver
cd /opt
git clone https://github.com/jumpserver/jumpserver.git
说明:如果比较慢可以从github导入仓库到Gitee然后下载jumpserver软件(具体方法自行百度)
③. 执行快速安装脚本
cd jumpserver/install && pip install ‐r requirements.txt <‐ 执行安装python依赖库
说明:利用pip install命令进行安装相应软件
‐r, ‐‐requirement <file> Install from the given requirements file. This option can be used multiple times.
安装软件信息通过给定的需求文件。这个参数可以被多次使用
cd jumpserver/install/ <‐ 手动切换到jumpserver的安装目录
cat requirements.txt <‐ 查看一下需要安装的依赖包
#sphinx‐me==0.3
django==1.6
pycrypto==2.6.1
paramiko==1.16.0
ecdsa==0.13
MySQL‐python==1.2.5
#django‐uuidfield==0.5.0
psutil==3.3.0
xlsxwriter==0.7.7
xlrd==0.9.4
django‐bootstrap‐form==3.2
tornado==4.3
ansible==1.9.4
pyinotify==0.9.6
passlib==1.6.5
argparse==1.4.0
django_crontab==0.6.0
说明:根据提示输入相关信息,完成安装,完成安装后,请访问web,继续查看后续文档
如果启动失败,请返回上层目录,手动运行./service.sh restart 启动
默认账号密码 admin 5Lov@wife
# 检查软件是否安装完毕
pip freeze
说明: 查看相关python软件是否安装成功
freeze Output installed packages in requirements format.
输出安装的包按照requirements文件格式输出
# 执行python的安装脚本
python install.py
请务必先查看wiki https://github.com/ibuler/jumpserver/wiki/Quickinstall
开始关闭防火墙和selinux
setenforce: SELinux is disabled <‐ 安装脚本会协助运维人员关闭selinux和防火墙
请输入您服务器的IP地址,用户浏览器可以访问 [10.0.0.70]: <‐ 定于web访问时所使用的ip地址
是否安装新的MySQL服务器? (y/n) [y]: y <‐ 安装mysql数据库软件,并创建数据库
开始安装设置mysql (请手动设置mysql安全)
默认用户名: jumpserver 默认密码: 5Lov@wife、
...省略部分软件安装步骤...
连接数据库成功
请输入SMTP地址: smtp.163.com <‐ 定义邮件服务器地址,用于jumpserver发送邮件使用
请输入SMTP端口 [25]:
请输入账户: [email protected]
请输入密码: Password
请登陆邮箱查收邮件, 然后确认是否继续安装
是否继续? (y/n) [y]:
...省略部分软件安装步骤...
请输入管理员用户名 [admin]: admin
请输入管理员密码: [5Lov@wife]: admin
请再次输入管理员密码: [5Lov@wife]: admin
Starting jumpsever service:manage.py not running
run_websocket.py not running [成功]
安装成功,请访问web, 祝你使用愉快。
请访问 https://github.com/ibuler/jumpserver 查看文档
说明:此时表示jumpserver软件已经安装成功,并能正常进行web访问了
以上配置操作都会存放在jumpserver.conf配置文件中,后续需要修改可以直接修改配置文件即可
# 扩展说明:更改pip仓库源
(安装的比较快一些)
# pip源也可以更新国内源,利用阿里的pip国内源
# 在~/.pip/pip.conf文件中添加或修改
[global]
index‐url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted‐host=mirrors.aliyun.com
# 3. 常见错误说明:
①. Crypto,getStrongprime,HAVE_DECL_MPZ_POWM_SEC等错误
# 很常见的错误,通常是由 pycrypto的版本问题,请卸载重新安装
开始写入配置文件
Traceback (most recent call last):
File "/opt/jumpserver/install/next.py", line 19, in <module>
from juser.user_api import db_add_user, get_object, User
File "/opt/jumpserver/juser/user_api.py", line 3, in <module>
from Crypto.PublicKey import RSA
File "/usr/lib64/python2.6/site-packages/Crypto/PublicKey/RSA.py", line 75, in <module>
from Crypto.Util.number import getRandomRange, bytes_to_long, long_to_bytes
File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in <module>
if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
> pip uninstall pycrypto
> rm -rf /usr/lib64/python2.6/site-packages/Crypto/
> rm -rf /usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg (大部分不执行这条就能解决)
> pip install pycrypto==2.4.1
②. jumpserver软件启动异常
[root@jumpserver-01 jumpserver]# ./service.sh restart
Stopping jumpsever service: [确定]
Starting jumpsever service: [确定]
说明:
安装脚本出现jumpserver服务启动异常,可以利用jumpserver启动脚本对服务进行重新启动 可能有时启动仍旧不成功,会 提示jinja2模板有问题,导致不能成功启动jumpserver服务,主要是由于系统环境问题导致
遇到jinja2模块问题,建议删除原有模块,利用pip install Jinja2==2.9.6 命令进行重新下载jinja2模块
#检查jumpserver启动是否正常
[root@jumpserver-01 jumpserver]# ps -ef|grep python
root 6831 6827 0 18:01 pts/1 00:00:00 /bin/bash -c ulimit -S -c 0>/dev/null 2>&1
; python ./run_websocket.py
root 6832 6826 0 18:01 pts/1 00:00:00 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1
; python ./manage.py runserver
0.0.0.0:80
#也可采用纯手工方式启动jumpserver进程
[root@jumpserver-01 jumpserver]# yum install screen -y <- 安装一下screen软件
[root@jumpserver-01 ~]# screen <- 进入到一个新的screen会话窗口中,运行python的web程序
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python manage.py runserver 0.0.0.0:80
Validating models...
0 errors found
June 26, 2017 - 18:13:43
Django version 1.6, using settings 'jumpserver.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.
[root@jumpserver-01 ~]# screen
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python run_websocket.py
[I 170626 18:25:21 process:136] Starting 5 processes
# pip源也可以更新国内源,利用阿里的pip国内源
# 在~/.pip/pip.conf文件中添加或修改
[global]
index‐url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted‐host=mirrors.aliyun.com
6Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
说明:screen命令能在不同会话间断开或重连。当一个命令正在执行时按“Ctrl + A”然后再按“d”来断开。
# 查看screen连接的会话信息
[root@jumpserver-01 ~]# screen -ls
There is a screen on:
6922.pts-0.jumpserver-01
(Detached)
6959.pts-0.jumpserver-01 (Detached)
2 Sockets in /var/run/screen/S-root.
# 重新连接screen会话信息
[root@jumpserver-01 ~]# screen -r 6922.pts-0.jumpserver-01
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python manage.py runserver 0.0.0.0:80
Validating models...
# log日志查看方法
[root@jumpserver-01 jumpserver]# cd logs/
[root@jumpserver-01 logs]# pwd
/opt/jumpserver/logs
[root@jumpserver-01 logs]# tail -f jumpserver.log
利用浏览器登录到jumpserver登录界面
界面管理配置操作官方资料:
https://github.com/jumpserver/jumpserver/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B
试着练习一下,在创建一个oldgirl的用户说明信息: web界面创建用户信息,实质上在程序内部做了两件事
- 在jumpserver服务程序的数据库中相应表中,添加了新的用户信息
- 在jumpserver的服务系统中,利用useradd命令创建出来相应的普通用户,并且会生成用户对应的公钥和私钥,利用密钥登录跳板机普通用户还有一个重要作用,可以用来登录jumpserver的web管理界面
用户管理 - 查看用户 - 添加用户 填写基本信息,完成用户添加
用户添加完成后,根据提示记住用户账号密码,换个浏览器登录下载key,
ssh登录jumpserver测试
创建的用户是给普通员工所使用
为创建好的普通员工发送邮件通知信息
资产管理 - 查看资产 - 添加资产 填写基本信息,完成资产添加
添加资产实质的作用是添加通过跳板机可以管理的主机信息
选择单台添加,设置好主机名或IP地址,可以选择管理账号,勾选默认配置
使用默认表示选择默认的用户配置—选择【设置】—编辑【默认设置】,表示定义管理账户的默认设置
如果没有设置,默认是无法进行勾选的
定义管理权限用户,必须在被管理资产主机上真实存在的,并且是具有创建用户 删除用户的等权限的管理用户,比如root
管理用户设置完成,点击提交
操作疑问: 如果被管理资产主机上没有root用户如何,或者没有授权开发root用户,该如何添加管理用户??? 带着疑问继续学习后面的内容
有可能公司所有主机的管理用户和账号密码是一致的,就可以设置默认管理用户
#在资产主机中创建默认管理用户admin
[root@jumpserver-02 ~]# useradd admin
[root@jumpserver-02 ~]# echo 123456|passwd --stdin admin
更改用户 admin 的密码
passwd: 所有的身份验证令牌已经成功更新。
[root@jumpserver-02 ~]#visudo <- 设置非root管理用户的sudo权限 admin ALL=(ALL)
NOPASSWD: ALL
如果采用的是密钥登录,也可以在下面的界面输入私钥信息,设置完毕点击确认保存
默认管理用户设置完成
添加资产主机是以主机名作为主键识别唯一性的,可以更改主机名称,再添加一台相同的资产主机
此种逻辑设置,主要考虑到通过远程登录时,公网IP一样,端口映射不一样,所以主机名唯一,ip地址可以进行重复使用