53. jumpserver------跳板机快速安装

1. 前言介绍

官方资料链接
https://www.jumpserver.org/
https://docs.jumpserver.org/zh/master/ 文档

2. jumpserver软件安装部署

快速安装部署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]:
    请输入账户: user@163.com
    请输入密码: 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

3. jumpserver软件web界面操作

利用浏览器登录到jumpserver登录界面
界面管理配置操作官方资料:
https://github.com/jumpserver/jumpserver/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B


4.练习操作

试着练习一下,在创建一个oldgirl的用户说明信息: web界面创建用户信息,实质上在程序内部做了两件事

  1. 在jumpserver服务程序的数据库中相应表中,添加了新的用户信息
  2. 在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地址可以进行重复使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值