您的位置:新葡亰496net > 电脑系统 > 新葡亰496net:的安装详解,Jumpserver跳板机入门

新葡亰496net:的安装详解,Jumpserver跳板机入门

发布时间:2019-06-21 11:20编辑:电脑系统浏览(131)

    CentOS 7 提议在三个十足的 centos7上拓展上面包车型地铁装置配置

     正文收音和录音在Linux运行集团架构实战连串

    一步一步安装(CentOS)

    标签(linux): jumpserver

    1、jumpserver安装

    关门 selinux 和防火墙

    条件盘算

    • 系统:CentOS 7
    • IP:192.168.10.101
    • 闭馆selinux 和防火墙

      # CentOS 7 $ setenforce 0 # 能够安装配置文件永世关闭 $ systemctl stop iptables.service $ systemctl stop firewalld.service

      # CentOS6 $ setenforce 0 $ service iptables stop

     


    作者Q:972581034 沟通群:605799367。有别的疑问可与小编或加群沟通

    1.1、遭遇介绍

    系统: CentOS 7.4.1708
    IP: 192.168.56.110

    [root@linux-node1 ~]# uname -r
    3.10.0-693.el7.x86_64
    [root@linux-node1 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    
    [root@jumpserver ~]# setenforce 0
    [root@jumpserver ~]# systemctl stop firewalld.service
    # 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文
    [root@jumpserver ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
    [root@jumpserver ~]# export LC_ALL=zh_CN.UTF-8
    [root@jumpserver ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
    

    一、计划 Python3 和 Python 虚拟景况

    环境

    首先是采用Jumpserver前要了然精晓这五个用户关系:

    1.2、关闭 selinux 和防火墙

    [root@linux-node1 ~]# setenforce 0  # 可以设置配置文件永久关闭
    [root@linux-node1 ~]# systemctl stop firewalld.service
    [root@linux-node1 ~]# systemctl disable firewalld.service
    [root@linux-node1 ~]# iptables -F
    [root@linux-node1 ~]# iptables-save
    

    防患于未然 Python3 和 Python 虚拟意况

    新式的jumpserver景况依赖于Python3

    设置正视包

    [root@jumpserver ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
    # 下载python3 编译 安装
    [root@jumpserver ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
    [root@jumpserver Python-3.6.1]# tar xf Python-3.6.1.tar.xz  && cd Python-3.6.1
    [root@jumpserver Python-3.6.1]# ./configure && make && make install
    # 这里必须执行编译安装,否则在安装 Python 库依赖时会有麻烦...
    

    树立 Python 虚拟意况

    CentOS 7 自带的是 Python2,而 yum 等工具重视原本的 Python,为了不打扰原本的情状大家来行使 Python 虚拟蒙受

    [root@jumpserver Python-3.6.1]# cd /opt
    [root@jumpserver opt]# python3 -m venv py3
    [root@jumpserver opt]# source /opt/py3/bin/activate
    # 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
    (py3) [root@jumpserver opt]# 
    

    机动载入 Python 虚拟情形布置

    此项仅为懒癌后期的职员利用,幸免运转 Jumpserver 时忘记载入 Python 虚拟蒙受产生程序不可能运营。使用autoenv

    (py3) [root@jumpserver ~]# cd /opt
    (py3) [root@jumpserver opt]# git clone git://github.com/kennethreitz/autoenv.git
    (py3) [root@jumpserver opt]# echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc
    (py3) [root@jumpserver opt]# source ~/.bashrc
    

    1、安装正视包

    [root@centos7-1 opt]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

     

    -  系统: CentOS 7

    -  IP: 192.168.244.144

    -  关闭 selinux 和防火墙

    1.用户:

    是指你在web上创制的用户,会在跳板机上创立这么些用户,效率就是用来登陆跳板机

    1.3、准备 Python3 和 Python 虚拟意况

    (1)安装依赖包
    [root@linux-node1 ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
    
    (2)编译安装pyhton3.6.1
    [root@linux-node1 ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
    [root@linux-node1 ~]# tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1
    [root@linux-node1 ~]# ./configure && make && make install
    
    (3)建立 Python 虚拟环境
    
    因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具依赖原来的 Python,为了不扰乱原来的环境我们来使用 Python 虚拟环境
    
    [root@linux-node1 ~]# cd /opt
    [root@linux-node1 ~]# python3 -m venv py3
    [root@linux-node1 ~]# source /opt/py3/bin/activate
    
    # 看到下面的提示符代表成功,以后运行 Jumpserver 都要先运行以上 source 命令,以下所有命令均在该虚拟环境中运行
    (py3) [root@linux-node1 ~]# 
    

    安装 Jumpserver

    下载或 Clone 项目

    项目交由较多 git clone 时相当的大,你能够选拔去 Github 项目页面一向下载zip包

    新葡亰496net 1

    (py3) [root@jumpserver opt]# git clone https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
    (py3) [root@jumpserver jumpserver]# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env    # 进入 jumpserver 目录时将自动载入 python 虚拟环境
    (py3) [root@jumpserver jumpserver]# cd requirements/
    
    # 首次进入 jumpserver 文件夹会有提示,按 y 即可
    # Are you sure you want to allow this? (y/N) y
    

    新葡亰496net 2

     安装依赖 RPM 包

    (py3) [root@jumpserver requirements]# yum -y install $(cat rpm_requirements.txt)
    安装 Python 库依赖
    (py3) [root@jumpserver requirements]# pip install -r requirements.txt
    

    安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

    (py3) [root@jumpserver requirements]# yum -y install redis
    (py3) [root@jumpserver requirements]# systemctl enable redis
    Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
    (py3) [root@jumpserver requirements]# systemctl start redis
    

    安装 MySQL

    (py3) [root@jumpserver requirements]# yum -y install mariadb mariadb-devel mariadb-server
    (py3) [root@jumpserver requirements]# systemctl enable mariadb
    Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
    (py3) [root@jumpserver requirements]# systemctl start mariadb
    

    制造数据库 Jumpserver 并授权

    新葡亰496net 3

    (py3) [root@jumpserver requirements]# mysql
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 2
    Server version: 5.5.56-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> create database jumpserver default charset 'utf8';
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    新葡亰496net 4

    修改 Jumpserver 配置文件

    新葡亰496net 5

    (py3) [root@jumpserver requirements]# cd /opt/jumpserver
    (py3) [root@jumpserver jumpserver]# cp config_example.py config.py
    (py3) [root@jumpserver jumpserver]# vim config.py 
    
    # 注意对其缩进,不要直接复制本文档的内容  
    # 配置文件是 Python 格式,不要用 TAB,而要用空格 内容以实际文件为准 本文仅供参考
    """
        jumpserver.config
        ~~~~~~~~~~~~~~~~~
    
        Jumpserver project setting file
    
        :copyright: (c) 2014-2017 by Jumpserver Team
        :license: GPL v2, see LICENSE for more details.
    """
    import os
    
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    
    
    class Config:
        # Use it to encrypt or decrypt data
    
        # Jumpserver 使用 SECRET_KEY 进行加密,请务必修改以下设置
        # SECRET_KEY = os.environ.get('SECRET_KEY') or '2vym ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x'
        SECRET_KEY = '请随意输入随机字符串(推荐字符大于等于 50位)'
    
        # Django security setting, if your disable debug model, you should setting that
        ALLOWED_HOSTS = ['*']
    
        # DEBUG 模式 True为开启 False为关闭,默认开启,生产环境推荐关闭
        # 注意:如果设置了DEBUG = False,访问8080端口页面会显示不正常,需要搭建 nginx 代理才可以正常访问
        DEBUG = os.environ.get("DEBUG") or False
    
        # 日志级别,默认为DEBUG,可调整为INFO, WARNING, ERROR, CRITICAL,默认INFO
        LOG_LEVEL = os.environ.get("LOG_LEVEL") or 'WARNING'
        LOG_DIR = os.path.join(BASE_DIR, 'logs')
    
        # 使用的数据库配置,支持sqlite3, mysql, postgres等,默认使用sqlite3
        # See https://docs.djangoproject.com/en/1.10/ref/settings/#databases
    
        # 默认使用SQLite3,如果使用其他数据库请注释下面两行
        # DB_ENGINE = 'sqlite3'
        # DB_NAME = os.path.join(BASE_DIR, 'data', 'db.sqlite3')
    
        # 如果需要使用mysql或postgres,请取消下面的注释并输入正确的信息,本例使用mysql做演示(mariadb也是mysql)
        DB_ENGINE = os.environ.get("DB_ENGINE") or 'mysql'
        DB_HOST = os.environ.get("DB_HOST") or '127.0.0.1'
        DB_PORT = os.environ.get("DB_PORT") or 3306
        DB_USER = os.environ.get("DB_USER") or 'jumpserver'
        DB_PASSWORD = os.environ.get("DB_PASSWORD") or 'somepassword'
        DB_NAME = os.environ.get("DB_NAME") or 'jumpserver'
    
        # Django 监听的ip和端口,生产环境推荐把0.0.0.0修改成127.0.0.1,这里的意思是允许x.x.x.x访问,127.0.0.1表示仅允许自身访问
        # ./manage.py runserver 127.0.0.1:8080
        HTTP_BIND_HOST = '127.0.0.1'
        HTTP_LISTEN_PORT = 8080
    
        # Redis 相关设置
        REDIS_HOST = os.environ.get("REDIS_HOST") or '127.0.0.1'
        REDIS_PORT = os.environ.get("REDIS_PORT") or 6379
        REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD") or ''
        REDIS_DB_CELERY = os.environ.get('REDIS_DB') or 3
        REDIS_DB_CACHE = os.environ.get('REDIS_DB') or 4
    
        def __init__(self):
            pass
    
        def __getattr__(self, item):
            return None
    
    
    class DevelopmentConfig(Config):
        pass
    
    
    class TestConfig(Config):
        pass
    
    
    class ProductionConfig(Config):
        pass
    
    
    # Default using Config settings, you can write if/else for different env
    config = DevelopmentConfig()
    

    新葡亰496net 6

    转移数据库表结谈判开头化数据

    (py3) [root@jumpserver jumpserver]# cd /opt/jumpserver/utils
    (py3) [root@jumpserver utils]# bash make_migrations.sh
    

    运行 Jumpserver

    (py3) [root@jumpserver utils]# cd /opt/jumpserver
    (py3) [root@jumpserver jumpserver]# ./jms start all
    # 新版本更新了运行脚本,使用方式./jms start|stop|status|restart all  后台运行请添加 -d 参数
    

    浏览器访问   暗许账号: admin 密码: admin 

    页面显示不符合规律先不用管理 ,后边搭建 nginx 代理就能够平常访问了

    2、编写翻译安装

    [root@centos7-1 opt]# wget

    [root@centos7-1 opt]# tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1

    [root@centos7-1 opt]# ./configure && make && make install

     

        # CentOS 7

    2.管制用户:

    是指客户端上的如root等高权限账号(或普通用户具有NOPASSWD: ALL sudo权限), 成作用于推送系统用户

    1.4、 安装 Jumpserver 1.0.0

    新葡亰496net 7新葡亰496net 8

    (1)下载或 Clone 项目
    
    项目提交较多 git clone 时较大,你可以选择去 Github 项目页面直接下载zip包。
    
    [root@linux-node1 ~]# cd /opt/
    [root@linux-node1 ~]# git clone --depth=1 https://github.com/jumpserver/jumpserver.git && cd jumpserver && git checkout master
    
    (2) 安装依赖 RPM 包
    
    [root@linux-node1 ~]# cd /opt/jumpserver/requirements
    [root@linux-node1 ~]# yum -y install $(cat rpm_requirements.txt)  # 如果没有任何报错请继续
    
    (3)安装 Python 库依赖
    [root@linux-node1 ~]# pip install -r requirements.txt  # 不要指定-i参数,因为镜像上可能没有最新的包,如果没有任何报错请继续
    
    (4)安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
    [root@linux-node1 ~]# yum -y install redis
    [root@linux-node1 ~]# systemctl start redis
    
    (5)安装 MySQL
    [root@linux-node1 ~]# yum -y install mariadb mariadb-devel mariadb-server 
    [root@linux-node1 ~]# systemctl start mariadb
    
    (6)创建数据库 Jumpserver 并授权
    [root@linux-node1 ~]# mysql
    > create database jumpserver default charset 'utf8';
    > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jumpserver';
    
    (7)修改 Jumpserver 配置文件
    
    [root@linux-node1 ~]# cd /opt/jumpserver
    [root@linux-node1 jumpserver]# cp config_example.py config.py
    [root@linux-node1 ~]# vim config.py  # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config
    注意: 配置文件是 Python 格式,不要用 TAB,而要用空格
    
    class DevelopmentConfig(Config):
        DEBUG = True
        DB_ENGINE = 'mysql'
        DB_HOST = '127.0.0.1'
        DB_PORT = 3306
        DB_USER = 'jumpserver'
        DB_PASSWORD = 'somepassword'
        DB_NAME = 'jumpserver'
    ...
    
    config = DevelopmentConfig()  # 确保使用的是刚才设置的配置文件
    
    (8)生成数据库表结构和初始化数据
    
    [root@linux-node1 ~]#  cd /opt/jumpserver/utils
    [root@linux-node1 ~]#  bash make_migrations.sh
    
    (9) 运行 Jumpserver
    
    [root@linux-node1 ~]#  cd /opt/jumpserver
    [root@linux-node1 ~]#  python run_server.py all
    运行不报错,请浏览器访问 http://192.168.56.110:8080/ (这里只是 Jumpserver, 没有 Web Terminal,所以访问 Web Terminal 会报错)
    
    账号: admin 密码: admin
    

    View Code

    安装 SSH Server 和 WebSocket Server: Coco

    新开多个巅峰,别忘了 source /opt/py3/bin/activate

    新葡亰496net 9

    [root@DaMoWang ~]# cd /opt
    [root@DaMoWang opt]# source /opt/py3/bin/activate
    (py3) [root@DaMoWang opt]# git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master
    (py3) [root@DaMoWang coco]# echo "source /opt/py3/bin/activate" > /opt/coco/.env    # 进入 coco 目录时将自动载入 python 虚拟环境
    
    # 首次进入 coco 文件夹会有提示,按 y 即可
    # Are you sure you want to allow this? (y/N) y
    
    安装依赖
    (py3) [root@DaMoWang coco]# cd requirements/
    (py3) [root@DaMoWang requirements]# yum -y  install $(cat rpm_requirements.txt)
    (py3) [root@DaMoWang requirements]# pip install -r requirements.txt -i https://pypi.org/simple
    

    新葡亰496net 10

    修改配置文件

    新葡亰496net 11

    (py3) [root@DaMoWang requirements]# cd /opt/coco
    (py3) [root@DaMoWang coco]# cp conf_example.py conf.py
    (py3) [root@DaMoWang coco]# vim conf.py 
    
    
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    #
    
    import os
    
    BASE_DIR = os.path.dirname(__file__)
    
    
    class Config:
        """
        Coco config file, coco also load config from server update setting below
        """
        # 项目名称, 会用来向Jumpserver注册, 识别而已, 不能重复
        # NAME = "localhost"
        NAME = "coco"
    
        # Jumpserver项目的url, api请求注册会使用, 如果Jumpserver没有运行在127.0.0.1:8080,请修改此处
        # CORE_HOST = os.environ.get("CORE_HOST") or 'http://127.0.0.1:8080'
        CORE_HOST = 'http://127.0.0.1:8080'
    
        # 启动时绑定的ip, 默认 0.0.0.0
        # BIND_HOST = '0.0.0.0'
    
        # 监听的SSH端口号, 默认2222
        # SSHD_PORT = 2222
    
        # 监听的HTTP/WS端口号,默认5000
        # HTTPD_PORT = 5000
    
        # 项目使用的ACCESS KEY, 默认会注册,并保存到 ACCESS_KEY_STORE中,
        # 如果有需求, 可以写到配置文件中, 格式 access_key_id:access_key_secret
        # ACCESS_KEY = None
    
        # ACCESS KEY 保存的地址, 默认注册后会保存到该文件中
        # ACCESS_KEY_STORE = os.path.join(BASE_DIR, 'keys', '.access_key')
    
        # 加密密钥
        # SECRET_KEY = None
    
        # 设置日志级别 ['DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', 'CRITICAL']
        # LOG_LEVEL = 'INFO'
        LOG_LEVEL = 'WARN'
    
        # 日志存放的目录
        # LOG_DIR = os.path.join(BASE_DIR, 'logs')
    
        # Session录像存放目录
        # SESSION_DIR = os.path.join(BASE_DIR, 'sessions')
    
        # 资产显示排序方式, ['ip', 'hostname']
        # ASSET_LIST_SORT_BY = 'ip'
    
        # 登录是否支持密码认证
        # PASSWORD_AUTH = True
    
        # 登录是否支持秘钥认证
        # PUBLIC_KEY_AUTH = True
    
        # 和Jumpserver 保持心跳时间间隔
        # HEARTBEAT_INTERVAL = 5
    
        # Admin的名字,出问题会提示给用户
        # ADMINS = ''
        COMMAND_STORAGE = {
            "TYPE": "server"
        }
        REPLAY_STORAGE = {
            "TYPE": "server"
        }
    
    
    config = Config()
    

    新葡亰496net 12

    运行coco

    (py3) [root@DaMoWang coco]# ./cocod start -d
    
    # 新版本更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运行请添加 -d 参数
    

    运营成功后去Jumpserver 会话管理-终端管理(

    3、建设构造 Python 虚拟碰到

    因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具正视原本的 Python,为了不滋扰原本的条件我们来使用 Python 虚拟境况

    [root@centos7-1 opt]# cd /opt

    [root@centos7-1 opt]# python3 -m venv py3

    [root@centos7-1 opt]# source /opt/py3/bin/activate

    注:看到上面包车型大巴唤醒符代表成功,现在运维 Jumpserver 都要先运转以上 source 命令,以下有所命令均在该虚拟景况中运营

    (py3) [root@centos7-1 opt]#

     

        $ setenforce 0  # 能够安装配置文件永世关闭

        $ systemctl stop iptables.service

        $ systemctl stop firewalld.service

        # 修改字符集,不然也许报 input/output error的难题,因为日志里打印了中文

        $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

        $ export LC_ALL=zh_CN.UTF-8

        $ echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf

    3.系统用户:

    是指要在客户端上成立那几个体系用户,通过推送来落实,功用正是登入客户端

    1.5、安装 SSH Server 和 WebSocket Server: Coco

    新葡亰496net 13新葡亰496net 14

    (1)下载或 Clone 项目
    
    新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate
    
    $ cd /opt
    $ git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master
    
    (2)安装依赖
    
    $ cd /opt/coco/requirements
    $ yum -y  install $(cat rpm_requirements.txt)
    $ pip install -r requirements.txt
    
    (3)查看配置文件并运行
    
    $ cd /opt/coco
    $ cp conf_example.py conf.py
    $ python run_server.py
    这时需要去 Jumpserver 管理后台-会话管理-终端管理(http://192.168.56.110:8080/terminal/terminal/)接受 Coco 的注册
    
    Coco version 0.4.0, more see https://www.jumpserver.org
    Starting ssh server at 0.0.0.0:2222
    Quit the server with CONTROL-C.
    

    View Code

    新葡亰496net 15

    安装 Web Terminal 前端: Luna

    Luna 已改为纯前端,供给 Nginx 来运行访问

    访问()下载对应版本的 release 包,直接解压,无需编写翻译

    新葡亰496net 16

    (py3) [root@DaMoWang coco]# cd /opt
    (py3) [root@DaMoWang opt]# wget https://github.com/jumpserver/luna/releases/download/1.3.3/luna.tar.gz
    (py3) [root@DaMoWang opt]# tar xf luna.tar.gz
    (py3) [root@DaMoWang opt]# ll
    总用量 5224
    drwxr-xr-x  4 root root      154 8月   5 21:37 autoenv
    drwxr-xr-x  9 root root      296 8月   5 22:15 coco
    drwxr-xr-x 12 root root      301 8月   5 22:03 jumpserver
    drwxr-xr-x  5  501 games    8192 7月  19 12:27 luna
    -rw-r--r--  1 root root  5335554 7月  19 12:32 luna.tar.gz
    drwxr-xr-x  6 root root      120 8月   5 21:49 py3
    (py3) [root@DaMoWang opt]# chown -R root.root luna
    

    新葡亰496net 17

    二、安装 Jumpserver 1.0.0

        # CentOS6

    4.管理用户和体系用户的涉嫌:

    二者都以客户端上的用户,后者涉及到五个推送动作,

    比如推送test系统用户,也就是在客户端上创建test用户,那么创建用户需要有权限,
    
    有没有权限创建就要看你是用客户端的root用户还是普通用户做为管理用户,
    
    如果后者做为管理用户就需要添加sudo权限又是NOPASSWD: ALL,
    
    这样推送系统用户,就可以成功在客户端上创建test用户
    

    1.6、测试连接

    #命令行远程连接跳板机
    [root@linux-node1 ~]#  ssh -p2222 admin@192.168.56.110
    The authenticity of host '[192.168.56.110]:2222 ([192.168.56.110]:2222)' can't be established.
    RSA key fingerprint is SHA256: OT2q1lPHGXKkfKOeZiNaoHx5LPMBAa48MWsmqwaHKE.
    RSA key fingerprint is MD5:3c:37:c3:20:ca:17:f9:c0:3e:92:dc:d9:b0:08:1a:7f.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[192.168.56.110]:2222' (RSA) to the list of known hosts.
    admin@192.168.56.110's password: 密码: admin
    如图所示:
    

    新葡亰496net 18

    借使是用在 Windows 下,Xshell Terminal 登入语法如下
    $ssh admin@192.168.56.110 2222
    密码: admin
    假使能登入代表安排成功

    安装 Windows 帮助组件

    1、下载或 Clone 项目

    花色交由较多 git clone 时相当的大,你能够挑选去 Github 项目页面平昔下载zip包。

    (py3) [root@centos7-1 opt]# cd /opt/

    (py3) [root@centos7-1 opt]# git clone --depth=1 && cd jumpserver && git checkout master

     

        $ setenforce 0

        $ service iptables stop

        # 修改字符集,不然大概报 input/output error的标题,因为日志里打字与印刷了国文

        $ localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

        $ export LC_ALL=zh_CN.UTF-8

        $ echo 'LANG=zh_CN.UTF-8' > /etc/sysconfig/i18n

    环境

    [root@jumpserver ~]# cat /etc/redhat-release 
    CentOS Linux release 7.3.1611 (Core)
    

    1.7、安装 Web Terminal 前端: Luna

    Luna 已改为纯前端,须要 Nginx 来运转访问
    访问(https://github.com/jumpserver/luna/releases)下载对应版本的 release 包,直接解压,无需编写翻译

    (1)解压 Luna
    
    [root@linux-node1 ~]# pwd
    /opt/
    
    [root@linux-node1 ~]# tar xvf luna.tar.gz
    [root@linux-node1 ~]# ls /opt/luna
    

    举个例子不须求管住 windows 资金财产,可以一贯跳过这一步

    因为手动安装 guacamole 组件比较复杂,这里提供打包好的 docker 使用, 运行 guacamole

     

    安装Docker

     

    新葡亰496net 19

    (py3) [root@DaMoWang opt]# yum remove docker-latest-logrotate  docker-logrotate  docker-selinux dockdocker-engine
    (py3) [root@DaMoWang opt]# yum install -y yum-utils   device-mapper-persistent-data   lvm2
    # 添加docker官方源
    (py3) [root@DaMoWang opt]# yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo
    (py3) [root@DaMoWang opt]# yum makecache fast
    (py3) [root@DaMoWang opt]# yum install docker-ce
    
    # 国内部分用户可能无法连接docker官网提供的源,这里提供阿里云的镜像节点供测试使用
    (py3) [root@DaMoWang opt]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    (py3) [root@DaMoWang opt]# rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
    (py3) [root@DaMoWang opt]# yum makecache fast
    (py3) [root@DaMoWang opt]# yum -y install docker-ce
    
    (py3) [root@DaMoWang opt]# systemctl start docker
    (py3) [root@DaMoWang opt]# systemctl status docker
    

    新葡亰496net 20

     

    启动 Guacamole

    新葡亰496net 21

    # 注意:这里需要修改下 http://<填写jumpserver的url地址> 例: http://192.168.1.23, 否则会出错
    # 不能使用 127.0.0.1 ,可以更换 registry.jumpserver.org/public/guacamole:latest
    
    (py3) [root@DaMoWang opt]# docker run --name jms_guacamole -d 
      -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key 
      -e JUMPSERVER_KEY_DIR=/config/guacamole/key 
      -e JUMPSERVER_SERVER=http://<填写jumpserver的url地址>:8080 
      registry.jumpserver.org/public/guacamole:1.0.0
    

    新葡亰496net 22

     

    这里所须求留意的是 guacamole 映射出来的端口是 8081,若与主机上其它端口争执请自定义

    启航成功后去Jumpserver 会话管理-终端管理(

    2、安装依赖 RPM 包

    (py3) [root@centos7-1 jumpserver]# cd /opt/jumpserver/requirements

    (py3) [root@centos7-1 jumpserver]# yum -y install $(cat rpm_requirements.txt)  # 要是未有任何报错请继续

     

    一. 策画 Python3 和 Python 虚拟情状

    一. 筹划Python3和Python虚拟情形

    1.8、 配置 Nginx 整合各组件

    新葡亰496net 23新葡亰496net 24

    (1)安装 Nginx 根据喜好选择安装方式和版本
    [root@linux-node1 ~]# yum -y install nginx
    
    (2)准备配置文件 修改 /etc/nginx/nginx.conf
    
    [root@linux-node1 conf.d]# cat /etc/nginx/nginx.conf
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
        server {
        listen 80;
    
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        location /luna/ {
            try_files $uri / /index.html;
            alias /opt/luna/;
        }
    
        location /media/ {
            add_header Content-Encoding gzip;
            root /opt/jumpserver/data/;
        }
    
        location /static/ {
            root /opt/jumpserver/data/;
        }
    
        location /socket.io/ {
            proxy_pass       http://localhost:5000/socket.io/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    
        location /guacamole/ {
            proxy_pass       http://localhost:8081/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            access_log off;
        }
    
        location / {
            proxy_pass http://localhost:8080;
        }
    }
    }
    
    (3)运行 Nginx
    [root@linux-node1 ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@linux-node1 ~]# systemctl reload nginx
    
    (4)访问 http://192.168.56.110,如图:
    

    View Code

    新葡亰496net 25

    合法文书档案:

     

     

    设置 Nginx 依照喜好选用安装格局和版本

    (py3) [root@DaMoWang opt]# yum -y install nginx
    

    早为之所安插文件 修改 /etc/nginx/nginx.conf

    新葡亰496net 26

    (py3) [root@DaMoWang opt]# vim /etc/nginx/nginx.conf
    # 把默认server配置块改成这样,原有的内容请保持不动
    
    server {
        listen 80;  # 代理端口,以后将通过此端口进行访问,不再通过8080端口
    
        location /luna/ {
            try_files $uri / /index.html;
            alias /opt/luna/;  # luna 路径,如果修改安装目录,此处需要修改
        }
    
        location /media/ {
            add_header Content-Encoding gzip;
            root /opt/jumpserver/data/;  # 录像位置,如果修改安装目录,此处需要修改
        }
    
        location /static/ {
            root /opt/jumpserver/data/;  # 静态资源,如果修改安装目录,此处需要修改
        }
    
        location /socket.io/ {
            proxy_pass       http://localhost:5000/socket.io/;  # 如果coco安装在别的服务器,请填写它的ip
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            access_log off;
        }
    
        location /guacamole/ {
            proxy_pass       http://localhost:8081/;  # 如果guacamole安装在别的服务器,请填写它的ip
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            access_log off;
            client_max_body_size 100m;  # Windows 文件上传大小限制
        }
    
        location / {
            proxy_pass http://localhost:8080;  # 如果jumpserver安装在别的服务器,请填写它的ip
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    } 
    
    (py3) [root@DaMoWang opt]# nginx -t 
    
    开启nginx服务  (py3) [root@DaMoWang opt]# systemctl start nginx  (py3) [root@DaMoWang opt]# systemctl enable nginx  Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
    

    新葡亰496net 27

    起初运用 Jumpserve

    检查选择是还是不是业已数见不鲜运营

    新葡亰496net 28

    (py3) [root@DaMoWang opt]# cd jumpserver/
    (py3) [root@DaMoWang jumpserver]# ./jms status    # 确定jumpserver已经运行,如果没有运行请重新启动jumpserver
    gunicorn is running: 18443
    celery is running: 18462
    beat is running: 18465
    (py3) [root@DaMoWang jumpserver]# cd /opt/coco    # 确定jumpserver已经运行,如果没有运行请重新启动coco
    (py3) [root@DaMoWang coco]# ./cocod status
    Coco is running: 18749
    # 如果安装了 Guacamole
    (py3) [root@DaMoWang coco]# docker ps    # 检查容器是否已经正常运行,如果没有运行请重新启动Guacamole
    CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS              PORTS                    NAMES
    a4572da64996        jumpserver/guacamole:latest   "/init"             10 minutes ago      Up 10 minutes       0.0.0.0:8081->8080/tcp   jms_guacamole
    

    新葡亰496net 29

    劳动整个启动后,访问 

    私下认可账号: admin 密码: admin

    测试连接

    如果登录客户端是 macOS 或 Linux ,登录语法如下
    $ ssh -p2222 admin@192.168.1.23
    $ sftp -P2222 admin@192.168.1.23密码: admin
    
    如果登录客户端是 Windows ,Xshell Terminal 登录语法如下
    $ ssh admin@192.168.1.23 2222
    $ sftp admin@192.168.1.23 2222
    密码: admin
    如果能登陆代表部署成功
    
    # sftp默认上传的位置在资产的 /tmp 目录下
    # windows拖拽上传的位置在资产的 Guacamole RDP上的 G 目录下
    

            

                
    

                                                     

     

    3、安装 Python 库依赖

    (py3) [root@centos7-1 requirements]# pip install -r requirements.txt  # 不要内定-i参数,因为镜像上大概没有流行的包,借使未有别的报错请继续

    打响如下图:

    新葡亰496net 30

     

    **1.1 安装正视包**

    1.1 安装注重包

    yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel
    

    4、安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke

    (py3) [root@centos7-1 requirements]# yum -y install redis

    (py3) [root@centos7-1 requirements]# systemctl start redis

     

        $ yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git

    1.2 编写翻译安装

    wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
    tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1
     ./configure && make && make install
    

    5、安装 MySQL

    本课程使用 Mysql 作为数据库,倘使不采取 Mysql 能够跳过相关 Mysql 安装和配备

    (1)# centos7

    (py3) [root@centos7-1 requirements]# yum -y install mariadb mariadb-devel mariadb-server  # centos7下安装的是mariadb

    (py3) [root@centos7-1 requirements]# systemctl start mariadb.service

    (2)# centos6

    $ yum -y install mysql mysql-devel mysql-server

    $ service mysqld start

     

    **1.2 编写翻译安装**

    1.3 组建python虚拟情况

    6、创制数据库 Jumpserver 并授权

    (py3) [root@centos7-1 requirements]# mysql

    MariaDB [(none)]>  create database jumpserver default charset 'utf8';

    Query OK, 1 row affected (0.00 sec)

    MariaDB [(none)]>  grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'along';

    Query OK, 0 rows affected (0.00 sec)

     

        $ wget

        $ tar xvf Python-3.6.1.tar.xz  && cd Python-3.6.1

        $ ./configure && make && make install

        # 这里不可不实践编写翻译安装,不然在安装 Python 库重视时会有麻烦...

    因为CentOS 6/7自带的是Python2,而Yum等工具重视原本的Python,为了不干扰原本的遭逢大家来利用Python虚拟情状

    cd /opt
    python3 -m venv py3
    source /opt/py3/bin/activate
    

    7、修改 Jumpserver 配置文件

    (py3) [root@centos7-1 requirements]# cd /opt/jumpserver

    (py3) [root@centos7-1 jumpserver]# cp config_example.py config.py

    (py3) [root@centos7-1 jumpserver]# vim config.py   # 大家安排修改 DevelopmentConfig中的配置,因为暗中同意jumpserver是行使该配置,它延续自Config

    class DevelopmentConfig(Config):    #找到这一段,进行下面的配置
        DEBUG = True
        DB_ENGINE = 'mysql'
        DB_HOST = '127.0.0.1'
        DB_PORT = 3306
        DB_USER = 'jumpserver'
        DB_PASSWORD = 'along'
        DB_NAME = 'jumpserver'
    

    注意: 配置文件是 Python 格式,不要用 TAB,而要用空格

     

    **1.3 创建 Python 虚拟意况**

    看来上边包车型大巴提醒符代表成功,将来运营jumpserver都要先运营以上source命令,以下有所命令均在该虚拟情况中运作

    (py3) [root@localhost py3]#
    

    8、生成数据库表结商聊起始化数据

    (py3) [root@centos7-1 jumpserver]# cd /opt/jumpserver/utils

    (py3) [root@centos7-1 utils]# bash make_migrations.sh

    工作有成如下图:

    新葡亰496net 31

     

    因为 CentOS 6/7 自带的是 Python2,而 Yum 等工具注重原本的 Python,为了不震憾原本的情状大家来行使 Python 虚拟景况

    二. 安装Jumpserver 0.4.0

    9、运行 Jumpserver

    (1)老版本运维方法

    (py3) [root@centos7-1 utils]# cd /opt/jumpserver

    (py3) [root@centos7-1 jumpserver]# python run_server.py all

     (2)新本子运行方法

    (py3) [root@centos7-1 jumpserver]# ./jms start all     # 后台运行使用-d 如:参数./jms start all -d

    # 新本子更新了运转脚本,使用格局./jms start|stop|status|restart all 后台运行请增多 -d 参数

     

        $ cd /opt

        $ python3 -m venv py3

        $ source /opt/py3/bin/activate

        # 看到上边的唤醒符代表成功,以往运维 Jumpserver 都要先运维以上 source 命令,以下有所命令均在该虚拟情状中运作

        (py3) [root@localhost py3]

    2.1 下载或clone项目

    10、浏览器访问http://192.168.10.101:8080/

    注意:

    ① 第三遍运行时也许报错,(这里只是 Jumpserver, 没有 Web Terminal,所以访问 Web Terminal 会报错)

    ② 终止程序,再一次试行,就能够登录了

    (py3) [root@centos7-1 jumpserver]# ./jms start all 

    账号: admin 密码: admin

    ③ 登入成功

    新葡亰496net 32

     

    二. 安装 Jumpserver 1.0.0

    连串交由较多git clone时相当的大,你能够选取去github项目页面一贯下载 zip包,作者的网速好,小编直接clone了
     cd /opt/
     git clone https://github.com/jumpserver/jumpserver.git
    

    三、安装 SSH Server 和 WebSocket Server: Coco

    **2.1 下载或 Clone 项目**

    2.2 安装依赖rpm包

     cd /opt/
     cd jumpserver/requirements
     yum -y install epel-release
     yum -y install $(cat rpm_requirements.txt)  # 如果没有任何报错请继续
    

    1、下载或 Clone 项目

    新开三个巅峰,连接测试机,别忘了 source /opt/py3/bin/activate

    [root@centos7-1 ~]# source /opt/py3/bin/activate

    (py3) [root@centos7-1 ~]# cd /opt/

    (py3) [root@centos7-1 opt]# git clone && cd coco && git checkout master

     

    品种交付较多 git clone 时极大,你可以选择去 Github 项目页面平素下载zip包。

    新葡亰496net:的安装详解,Jumpserver跳板机入门。2.3 安装python库依赖

     pip install -r requirements.txt  # 如果没有任何报错请继续
    

    2、安装正视

    (py3) [root@centos7-1 coco]# cd /opt/coco/requirements

    (py3) [root@centos7-1 requirements]# yum -y  install $(cat rpm_requirements.txt)

    (py3) [root@centos7-1 requirements]# pip install -r requirements.txt

    马到功成如下图:

    新葡亰496net 33

     

        $ cd /opt/

        $ git clone --depth=1 && cd jumpserver && git checkout master

    2.4 安装Redis, jumpserver使用celery依赖

     yum -y install redis
     systemctl start redis
    

    3、查看配置文件并运维

    (1)运行

    (py3) [root@centos7-1 requirements]# cd /opt/coco

    (py3) [root@centos7-1 coco]# cp conf_example.py conf.py

    (py3) [root@centos7-1 coco]# ./cocod start   # 后台运转使用 -d 参数./cocod start -d

    # 新本子更新了运营脚本,使用形式./cocod start|stop|status|restart 后台运转请增多 -d 参数

     

    (2)那时须要去 Jumpserver 管理后台-会话管理-终端管理(http://192.168.10.101:8080/terminal/terminal/)接受 Coco 的注册新葡亰496net 34

     

    (3)命令行终端显示一连成功

    新葡亰496net 35

     

    **2.2 安装重视 RPM 包**

    2.5 安装MySQL

    正文使用mysql作为数据库,要是不行使mysql能够跳过相关mysql安装和布署

     yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb,阿里云默认源的/etc/my.cnf可能导致不能启动
     systemctl  start mariadb
    service mariadb start
    

    4、测试连接

    (1)linux 连接

    [root@centos7-1 ~]# ssh -p2222 admin@192.168.10.101   #新开二个极端去老是密码: admin

    (2)如若是用在 Windows 下,Xshell Terminal 登入语法如下

    $ssh admin@192.168.244.144 2222

    密码: admin

    一经能登录代表布署成功

    (3)登入成功如下图:

    新葡亰496net 36

     

        $ cd /opt/jumpserver/requirements

        $ yum -y install $(cat rpm_requirements.txt) 

         # 即使未有其余报错请继续

    2.6 成立数据库 jumpserver并授权

    mysql> create database jumpserver default charset 'utf8';
    mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';
    

    四、安装 Web Terminal 前端: Luna

    **2.3 安装 Python 库依赖**

    2.7 安装 python3 mysql驱动: mysqlclient

    #由于MySQLdb库不支持 python3.5 ,所以选择了mysqlclient作为驱动,pymysql使用python写的,速度较慢
     pip install mysqlclient
    

    1、下载 Luna

    Luna 已改为纯前端,需求 Nginx 来运作访问

    访问()下载对应版本的 release 包,间接解压,无需编写翻译

    [root@centos7-1 ~]# cd /opt/

    [root@centos7-1 opt]# wget

     

        $ pip install -r requirements.txt 

    2.8 修改jumpserver配置文件

     cd /opt/jumpserver
     cp config_example.py config.py
     vi config.py  # 我们计划修改 DevelopmentConfig中的配置,因为默认jumpserver是使用该配置,它继承自Config
    class DevelopmentConfig(Config):
        DEBUG = True
        DISPLAY_PER_PAGE = 20
        DB_ENGINE = 'mysql'
        DB_HOST = '127.0.0.1'
        DB_PORT = 3306
        DB_USER = 'jumpserver'
        DB_PASSWORD = 'somepassword'
        DB_NAME = 'jumpserver'
        EMAIL_HOST = 'smtp.exmail.qq.com'
        EMAIL_PORT = 465
        EMAIL_HOST_USER = 'a@jumpserver.org'
        EMAIL_HOST_PASSWORD = 'somepasswrd'
        EMAIL_USE_SSL = True
        EMAIL_USE_TLS = False
        EMAIL_SUBJECT_PREFIX = '[Jumpserver] '
        SITE_URL = 'http://192.168.244.144:8080'
    

    2、解压 Luna

    [root@centos7-1 opt]# tar xvf luna.tar.gz

    [root@centos7-1 opt]# ls /opt/luna

    新葡亰496net 37

     

     # 不要钦命-i参数,因为镜像上大概未有最新的包,借使未有任何报错请继续

    2.9 生成数据库表结商谈起始化数据

     cd /opt/jumpserver/utils
     bash make_migrations.sh
     bash init_db.sh
    

    五、安装 Windows 帮忙组件(假设无需管住 windows 资金财产,能够一直跳过这一步)

    因为手动安装 guacamole 组件比较复杂,这里提供打包好的 docker 使用, 运维guacamole

    **2.4 安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke**

    2.10 运行Jumpserver

    source /opt/py3/bin/activate
    cd /opt/jumpserver
    python run_server.py
    

    运营不报错,请浏览器访问 账号: admin 密码: admin

    1、Docker安装 (仅针对CentOS7,CentOS6,安装Docker绝相比较复杂)

    ① 安装依赖
    [root@centos7-1 ~]# yum remove docker-latest-logrotate  docker-logrotate  docker-selinux dockdocker-engine
    [root@centos7-1 ~]# yum install -y yum-utils  device-mapper-persistent-data   lvm2
    
    ② 安装docker
    添加docker官方源
    [root@centos7-1 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    [root@centos7-1 ~]# yum makecache fast
    [root@centos7-1 ~]# yum install docker-ce
    
    ③ 国内部分用户可能无法连接docker官网提供的源,这里提供阿里云的镜像节点供测试使用
    [root@centos7-1 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    [root@centos7-1 ~]# rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
    [root@centos7-1 ~]# yum makecache fast
    [root@centos7-1 ~]# yum -y install docker-ce
    
    ④ 启动docker
    [root@centos7-1 ~]# systemctl start docker
    [root@centos7-1 ~]# systemctl status docker
    

     

        $ yum -y install redis

        $ systemctl start redis

        # centos6

        $ service redis start

    三. 安装 SSH Server: Coco

    2、启动 Guacamole

    ① 这里所要求注意的是 guacamole 暴表露来的端口是 8081,若与主机上别的端口争持请自定义

    修改 JUMPSERVER_SEQX56VEPAJERO 情形变量的陈设,填上 Jumpserver 的内网地址

    # 注意:这里一定要改写一下本机的IP地址, 否则会出错, 带宽有限, 下载时间可能有点长,可以喝杯咖啡,撩撩对面的妹子
    docker run --name jms_guacamole -d 
      -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key 
      -e JUMPSERVER_KEY_DIR=/config/guacamole/key 
      -e JUMPSERVER_SERVER=http://<填写本机的IP地址>:8080 
      registry.jumpserver.org/public/guacamole:1.0.0 
    

    ② 试行进度截图

    新葡亰496net 38

     

    **2.5 安装 MySQL**

    3.1 下载clone项目

    新开一个终端,连接测试机,别忘了 source /opt/py3/bin/activate

     source /opt/py3/bin/activate
     cd /opt
     git clone https://github.com/jumpserver/coco.git
    

    3、在jumpserver 接受登记

    起头成功后去 Jumpserver 会话管理-终端处理( 新葡亰496net 39

     

    本课程使用 Mysql 作为数据库,假若不选择 Mysql 能够跳过相关 Mysql 安装和配备

    3.2 安装注重

     cd /opt/coco/requirements
     yum -y  install $(cat rpm_requirements.txt)
     pip install -r requirements.txt
    

    六、配置 Nginx 整合各组件

        # centos7

    3.3 查看配置文件并运转

     cd /opt/coco
     cat config.py
     python run_server.py
    
    ERROR:root:Load access key failed
    Using access key 311d0e77-5ec9-4c46-a131-7409e1daf271:***
    WARNING:/opt/coco/coco/service.py:App auth failed, Access key error or need admin active it
    

    1、安装 Nginx 依据喜好采用设置形式和版本

    nginx 官网

    新葡亰496net 40

    (1)安装前打算

    ① 下载版本包,笔者以nginx-1.12.2为例

    [root@centos7-1 nginx]# wget -c

    [root@centos7-1 nginx]# tar -xvf nginx-1.12.2.tar.gz

    ② 下载正视包

    [root@centos7-1 nginx]# yum install gc gcc gcc-c pcre-devel zlib-devel openssl-devel

    ③ 创建nginx用户、组

    [root@centos7-1 nginx-1.12.2]# groupadd nginx

    [root@centos7-1 nginx-1.12.2]# useradd -s /sbin/nologin -g nginx -M nginx

     

    (2)编写翻译安装

    [root@centos7-1 nginx-1.12.2]# ./configure --user=nginx --group=nginx --prefix=/mnt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

    [root@centos7-1 nginx-1.12.2]# make && make install

    [root@centos7-1 nginx-1.12.2]# cd /mnt/nginx/    # 完成

    新葡亰496net 41

    注释:#钦点运维权限的用户

    --user=nginx

    #内定运维的权能用户组

    --group=nginx

    #指定安装路线

    --prefix=/usr/local/nginx

    #支撑nginx状态查询

    --with-http_stub_status_module

    #开启ssl支持

    --with-http_ssl_module

    #开启GZIP功能

    --with-http_gzip_static_module

     

    (3)使systemctl 控制nginx 服务

    [root@centos7-1 nginx]# vim /usr/lib/systemd/system/nginx.service

    [Unit]
    Description=nginx - high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/mnt/nginx/logs/nginx.pid
    ExecStartPre=/mnt/nginx/sbin/nginx -t -c /mnt/nginx/conf/nginx.conf
    ExecStart=/mnt/nginx/sbin/nginx -c /mnt/nginx/conf/nginx.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

     

        $ yum -y install mariadb mariadb-devel mariadb-server # centos7下安装的是mariadb

        $ systemctl enable mariadb

        $ systemctl start mariadb

    此刻急需去 jumpserver管理后台-应用程序-终端(http://192.168.244.144:8080/applications/terminal/)接受coco的注册接受coco的注册)

    Coco version 0.4.0, more see https://www.jumpserver.org
    Starting ssh server at 0.0.0.0:2222
    Quit the server with CONTROL-C.
    

    那会儿完毕安装

    2、策动安排文件

    [root@centos7-1 ~]# vim /mnt/nginx/conf/nginx.conf   清除已部分server段

    server {
        listen 80;
    
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        location /luna/ {
            try_files $uri / /index.html;
            alias /opt/luna/;
        }
    
        location /media/ {
            add_header Content-Encoding gzip;
            root /opt/jumpserver/data/;
        }
    
        location /static/ {
            root /opt/jumpserver/data/;
        }
    
        location /socket.io/ {
            proxy_pass       http://localhost:5000/socket.io/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    
        location /guacamole/ {
            proxy_pass       http://localhost:8081/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            access_log off;
        }
    
        location / {
            proxy_pass http://localhost:8080;
        }
    }
    

     

        # centos6

    3.4 测试连接

     ssh -p2222 admin@192.168.244.144
    

    密码: admin
    假定是用Xshell登入语法如下

    ssh admin@192.168.244.144 2222
    

    密码: admin
    借使能登入代表安排成功

    3、运行 Nginx

    [root@centos7-1 ~]# /mnt/nginx/sbin/nginx -t   # 检查计划文件

    [root@centos7-1 ~]# service nginx start

     

        $ yum -y install mysql mysql-devel mysql-server

        $ chkconfig mysqld on

        $ service mysqld start

    四. 安装 Web Terminal: Luna

    新开二个终极,连接测试机,别忘了 source /opt/py3/bin/activate

    4、访问 http://192.168.10.101

    新葡亰496net 42

     

    **2.6 创立数据库 Jumpserver 并授权**

    4.1 下载clone项目

    source /opt/py3/bin/activate
     cd /opt
     git clone https://github.com/jumpserver/luna.git
    

        $ mysql

        > create database jumpserver default charset 'utf8';

        > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'somepassword';

    4.2 安装信赖

     cd /opt/luna/requirements
     yum -y install $(cat rpm_requirements.txt)
     pip install -r requirements.txt
    

    **2.7 修改 Jumpserver 配置文件**

    4.3 查看配置文件并运营

     cd /opt/luna
     cat config.py
     python run_server.py
    
    ERROR:root:Load access key failed
    Using access key 5bfdbf63-bef5-4cfb-9e31-2d873bdddb03:***
    WARNING:luna.service:App auth failed, Access key error or need admin active it
    

        $ cd /opt/jumpserver

        $ cp config_example.py config.py

        $ vi config.py

    4.4 一样去jumpserver管理后台接受luna注册

    应用程序-终端 接受

    Luna version 0.4.0, more see https://www.jumpserver.org
    Starting web server at 0.0.0.0:5000
    Quit the server with CONTROL-C.
    

        # 我们布署修改 DevelopmentConfig 中的配置,因为私下认可 Jumpserver 使用该配置,它一而再自 Config

    4.5 测试

    访问 http://192.168.244.144:5000

    **瞩目: 配置文件是 Python 格式,不要用 TAB,而要用空格**

        class DevelopmentConfig(Config):

            DEBUG = True

            DB_ENGINE = 'mysql'

            DB_HOST = '127.0.0.1'

            DB_PORT = 3306

            DB_USER = 'jumpserver'

            DB_PASSWORD = 'somepassword'

            DB_NAME = 'jumpserver'

        ...

        config = DevelopmentConfig() 

     # 确定保证使用的是刚刚设置的布署文件

    **2.8 生成数据库表结议和初阶化数据**

        $ cd /opt/jumpserver/utils

        $ bash make_migrations.sh

    **2.9 运行 Jumpserver**

        $ cd /opt/jumpserver

        $ ./jms start all 

    # 后台运维使用 -d 参数./jms start all -d

        # 新本子更新了运营脚本,使用情势./jms start|stop|status|restart all  后台运转请增多 -d 参数

    运维不报错,请浏览器访问   页面突显不健康先不用管理,搭建 nginx 代理就足以常常访问了

    屈居重启的秘诀

        $ ./jms restart

    三. 安装 SSH Server 和 WebSocket Server: Coco

    **3.1 下载或 Clone 项目**

    新开三个终端,连接测试机,别忘了 source /opt/py3/bin/activate

        $ cd /opt

        $ source /opt/py3/bin/activate

        $ git clone && cd coco && git checkout master

    **3.2 安装注重**

        $ cd /opt/coco/requirements

        $ yum -y  install $(cat rpm_requirements.txt)

        $ pip install -r requirements.txt

    **3.3 查看配置文件并运营**

        $ cd /opt/coco

        $ cp conf_example.py conf.py  # 若是 coco 与 jumpserver 分开陈设,请手动修改 conf.py

        $ ./cocod start  # 后台运营使用 -d 参数./cocod start -d

        # 新本子更新了运行脚本,使用方式./cocod start|stop|status|restart  后台运转请增多 -d 参数

        Coco version 1.0.0, more see

        Starting ssh server at 0.0.0.0:2222

        Quit the server with CONTROL-C.

    四. 安装 Web Terminal 前端: Luna

    卢纳 已改为纯前端,要求 Nginx 来运营访问

    访问( release 包,直接解压,无需编写翻译

    4.1 解压 Luna

        $ pwd

        /opt/

        $ wget

        $ tar xvf luna.tar.gz

        $ ls /opt/luna

        ...

    五. 安装 Windows 援助组件(假如无需管住 windows 资金财产,可以直接跳过这一步)

    因为手动安装 guacamole 组件比较复杂,这里提供打包好的 docker 使用, 运转guacamole

    5.1 Docker安装 (仅针对CentOS7,CentOS6设置Docker相对相比复杂)

        $ yum remove docker-latest-logrotate  docker-logrotate  docker-selinux dockdocker-engine

        $ yum install docker-ce

        $ yum install -y yum-utils  device-mapper-persistent-data  lvm2

        $ yum-config-manager    --add-repo   

        $ yum-config-manager --enable docker-ce-edge

        $ yum-config-manager --enable docker-ce-test

        $ yum-config-manager --disable docker-ce-edge

        $ yum install docker-ce

        $ systemctl start docker

        $ systemctl status docker

    5.2 启动 Guacamole

    这里所急需留意的是 guacamole 暴透露来的端口是 8081,若与主机上别的端口争持请自定义

    修改 JUMPSERVER_SEPAJEROVE奥迪Q5 景况变量的布局,填上 Jumpserver 的内网地址, 运行成功后去

    Jumpserver 会话管理-终端管理(

    .. code:: shell

        # 注意:这里肯定要改写一下本机的IP地址, 不然会出错, 带宽有限, 下载时间只怕有一点长,能够喝杯咖啡,撩撩对面包车型大巴胞妹

        $ docker run --name jms_guacamole -d

          -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key

          -e JUMPSERVER_KEY_DIR=/config/guacamole/key

          -e JUMPSERVER_SERVER=

          registry.jumpserver.org/public/guacamole:1.0.0

    六. 配置 Nginx 整合各组件

    6.1 安装 Nginx 依照喜好选拔安装格局和版本

        $ yum -y install nginx

    6.2 计划安排文件 修改 /etc/nginx/conf.d/jumpserver.conf

    内容如下:

        $ vim /etc/nginx/nginx.conf

        ... 省略

        # 把暗中同意server配置块改成这么

        server {

            listen 80;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header Host $host;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            location /luna/ {

                try_files $uri / /index.html;

                alias /opt/luna/;

            }

            location /media/ {

                add_header Content-Encoding gzip;

                root /opt/jumpserver/data/;

            }

            location /static/ {

                root /opt/jumpserver/data/;

            }

            location /socket.io/ {

                proxy_pass      ;  # 即便coco安装在其他服务器,请填入它的ip

                proxy_buffering off;

                proxy_http_version 1.1;

                proxy_set_header Upgrade $http_upgrade;

                proxy_set_header Connection "upgrade";

            }

            location /guacamole/ {

                proxy_pass      ;  # 请修改成运转docker服务的服务器IP,windows资金财产连接白屏的难题大多是出新在此处

                proxy_buffering off;

                proxy_http_version 1.1;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_set_header Upgrade $http_upgrade;

                proxy_set_header Connection $http_connection;

                access_log off;

            }

            location / {

                proxy_pass ;  # 若是jumpserver安装在别的服务器,请填入它的ip

            }

        }

        ... 省略

    6.3 运行 Nginx

        nginx -t  # 确定保障布局未有毛病, 有毛病请先消除

        # CentOS 7

        $ systemctl start nginx

        $ systemctl enable nginx

        # CentOS 6

        $ service nginx start

        $ chkconfig nginx on

    6.4 访问

    暗中同意账号: admin 密码: admin

    到会话管理-终端管理 接受 Coco Guacamole 等选拔的挂号

    ** 测试连接**

        $ ssh -p2222 admin@192.168.244.144

        密码: admin

        如若是用在 Windows 下,Xshell Terminal 登入语法如下

        $ssh admin@192.168.244.144 2222

        密码: admin

        要是能登入代表布署成功

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496net:的安装详解,Jumpserver跳板机入门

    关键词:

上一篇:MySQL容器铺排,本地碰着搭建

下一篇:没有了