centos 7 jumpserverのインストールと使用の詳細

10973 ワード

Jumpserver使用の詳細
一概要
Jumpserverは世界初の完全オープンソースの砦機で、GNU GPL v 2を使用している.0オープンソースプロトコルは、4 Aに準拠する専門的なメンテナンス監査システムです.
JumpserverはPython/Djangoを使用して開発を行い、Web 2.0の規範に従い、業界をリードするWeb Terminalソリューションを配備し、インタラクティブなインタフェースが美しく、ユーザー体験が良い.
Jumpserverは分布式アーキテクチャを採用し、マルチマシンルームの地域間配置をサポートし、センターノードはAPIを提供し、各マシンルームはログインノードを配置し、横方向に拡張し、同時アクセス制限がない.
 
特徴:
完全オープンソース、GPLライセンス
Python作成、二次開発に便利
跳板機の基本機能、認証、授権、監査を実現した.
Ansible、一括コマンドなどを統合
WebTerminalのサポート
Bootstrapの作成、インタフェースの美観
ハードウェア情報の自動収集
ビデオ再生
コマンド検索
リアルタイムモニタリング
ダウンロードの一括アップロード
 
 
二取付
環境
システム:CentOS 7
IP: 192.168.9.62
Redis mysqlはパブリックサービスを使用し、個別にインストールしません.
 
1システム環境準備
1.1 selinuxを閉じる
$ setenforce 0  #             

1.2文字セットを変更しないとinput/output errorの問題を報告する可能性があります.ログに中国語が印刷されているからです.
$ localedef -c -f UTF-8 -i zh_CNzh_CN.UTF-8

$ export LC_ALL=zh_CN.UTF-8

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

 
2.Python 3とPythonの仮想環境の準備
2.1依存パッケージのインストール
$ yum -y install wget sqlite-devel xz gccautomake zlib-devel openssl-devel epel-release git

2.2コンパイルインストール
$ wgethttps://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 

ここでコンパイルインストールを実行する必要があります.そうしないと、Pythonライブラリ依存をインストールするときに面倒になります.
 
2.3 Python仮想環境の構築
#CentOS 6/7はPython 2を所有しているため、Yumなどのツールは元のPythonに依存しており、元の環境を乱さないようにPython仮想環境を使用しています
$ cd /opt
$ python3 -m venv py3
$ source /opt/py3/bin/activate

#次のプロンプトが成功したことを示します.その後、Jumpserverを実行するには、上記のsourceコマンドを実行します.以下のコマンドはすべて仮想環境で実行されます.
(py3) [root@localhost py3]
 
2.4 Python仮想環境構成の自動ロード
#これは、Jumpserverを実行するときにPython仮想環境にロードするのを忘れてプログラムが実行できないように、怠け者の末期の人だけが使用します.Autoenvの使用
$ git clonegit://github.com/kennethreitz/autoenv.git ~/.autoenv
$ echo 'source ~/.autoenv/activate.sh'>> ~/.bashrc
$ source ~/.bashrc

 
3.Jumpserverのインストール
3.1ダウンロードまたはCloneプロジェクト
#プロジェクトがgit cloneを多く提出する場合は大きく、Githubプロジェクトページに行ってzipパッケージを直接ダウンロードすることができます.
$ cd /opt/
$ git clone --depth=1https://github.com/jumpserver/jumpserver.git && cd jumpserver&& git checkout master
$ echo "source/opt/py3/bin/activate" > /opt/jumpserver/.env  #    jumpserver         python     

3.2依存RPMパッケージのインストール
$ cd /opt/jumpserver/requirements
$ yum -y install $(catrpm_requirements.txt)

3.3 Pythonライブラリ依存のインストール
$ pip install -r requirements.txt  #     -i  ,             

 
3.4 Redisをインストールし、JumpserverはRedisを使用してcacheとcelerybrokeを作成する
#既存のパブリックredisサービスを使用している場合は、このインストールをスキップします.
$ yum -y install redis
$ systemctl start redis

 
3.5 MySQLのインストール
#既存の共通mysqlサービスを使用する場合は、このインストールをスキップします.
#このチュートリアルでは、Mysqlをデータベースとして使用します.Mysqlを使用しない場合は、関連するMysqlのインストールと構成をスキップできます.
$ yum -y install mariadb mariadb-develmariadb-server # centos7     mariadb
$ systemctl enable mariadb
$ systemctl start mariadb

3.6データベースJumpserverの作成と承認
$ mysql
> create database jumpserver defaultcharacter set 'utf8' collate utf8_general_ci;
> grant all on jumpserver.* to'jumpserver'@'127.0.0.1' identified by 'somepassword';

 
3.7 Jumpserverプロファイルの変更
$ cd /opt/jumpserver
$ cp config_example.py config.py
$ vi 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'

   REDIS_HOST= '127.0.0.1'

   REDIS_PORT= 6379
   
   REDIS_PASSWORD =''

#    redis ,     3, celery redis, jumpserver       redis #      ,       4, jumpserver django settings         。#      3     。

BROKER_URL ='redis://%(password)s%(host)s:%(port)s/3' % {

        'password': REDIS_PASSWORD,

        'host': REDIS_HOST,

        'port': REDIS_PORT,

    }

...

config = DevelopmentConfig()  #                

 
3.8データベース表構造の生成とデータの初期化
$ cd /opt/jumpserver/utils
$ bash make_migrations.sh

3.9 Jumpserverの実行
$ cd /opt/jumpserver
$ ./jms start all  #        -d   ./jms startall -d

実行中にエラーが発生しない場合は、ブラウザにアクセスしてください.http://192.168.244.144:8080/デフォルトアカウント:adminパスワード:adminページ表示が正常でない場合は処理せず、nginxエージェントを構築すれば正常にアクセスできます
 
再起動の方法を添付します
$ ./jms restart

 
4.SSH ServerとWebSocket Serverのインストール:Coco
4.1ダウンロードまたはCloneプロジェクト
#jumpserverがインストールしているサーバにインストールしても、別々にしてもいいです.source/opt/py 3/bin/activateを忘れないでください.
$ cd /opt
$ source /opt/py3/bin/activate
$ git clonehttps://github.com/jumpserver/coco.git && cd coco && gitcheckout master
$ echo "source/opt/py3/bin/activate" > /opt/coco/.env #    coco          python     

4.2インストール依存
$ cd /opt/coco/requirements
$ yum -y install $(cat rpm_requirements.txt)
$ pip install -r requirements.txt -ihttps://pypi.org/simple

4.3プロファイルの表示と実行
$ cd /opt/coco
$ cp conf_example.py conf.py  #    coco   jumpserver     ,     conf.py
$ ./cocod start  #        -d   ./cocodstart -d

#起動に成功したらJumpserverセッション管理-端末管理(http://192.168.9.62:8080/terminal/terminal/)cocoの登録を受け、ページが正常でない場合は配置が完了してから処理することができます.
 
5.Web Terminalフロントエンドのインストール:Luna
Lunaは純粋なフロントエンドに変更され、アクセスを実行するにはNginxが必要です.
アクセス(https://github.com/jumpserver/luna/releases)対応するバージョンのreleaseパッケージをダウンロードして、直接解凍して、コンパイルする必要はありません
 
5.1解凍Luna
$ pwd
/opt/
$ wgethttps://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz
$ tar xvf luna.tar.gz
$ ls /opt/luna
...

 
6.Windowsサポートコンポーネントのインストール
Windows資産を管理する必要がない場合は、このステップを直接スキップできます.
#guacamoleコンポーネントを手動でインストールするのは複雑なので、パッケージ化されたdockerを使用してguacamoleを起動します.
 
6.1 Dockerインストール(CentOS 7のみ、CentOS 6インストールDockerは比較的複雑)
$ yum remove docker-latest-logrotate  docker-logrotate  docker-selinux dockdocker-engine
$ yum install -y yum-utils   device-mapper-persistent-data   lvm2

#dockerの公式ソースの追加
$ yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo
$ yum makecache fast
$ yum install docker-ce

#国内ではdockerの公式サイトが提供するソースに接続できない可能性があります.ここではアリクラウドのミラーノードをテストして使用することができます.
$ yum-config-manager —add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ rpm —import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg
$ yum makecache fast
$ yum -y install docker-ce

$ systemctl start docker
$ systemctl status docker

6.2 Guacamoleの起動
ここで注意したいのはguacamoleが露出したポートが8081であり、ホスト上の他のポートと競合している場合はカスタマイズしてください.
JUMPSERVER_の変更SERVER環境変数の配置は、Jumpserverのイントラネットアドレスを記入し、起動に成功したらJumpserverセッション管理-端末管理(http://192.168.9.62:8080/terminal/terminal/)は[Gua]の先頭の登録を受け入れ、ページ表示が正常でない場合は配置が完了してから処理することができる.
 
#注意:ここは必ず本機のIPアドレスを書き換えなければならなくて、さもなくば間違いがあって、帯域幅は有限で、ダウンロード時間は少し長いかもしれません
$ docker run --name jms_guacamole -d \
  -p8081:8080 -v /opt/guacamole/key:/config/guacamole/key \
  -eJUMPSERVER_KEY_DIR=/config/guacamole/key \
  -eJUMPSERVER_SERVER=http:// \
 registry.jumpserver.org/public/guacamole:1.0.0

 
 
7.Nginx統合各コンポーネントの構成
7.1インストールNginx好みでインストール方法とバージョンを選択
$ yum -y install nginx

 
7.2プロファイル変更/etc/nginx/nginxを準備する.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      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";

    }

 

   location /guacamole/ {

       proxy_pass      http://localhost:8081/;  #   guacamole        ,     ip

       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; #   jumpserver        ,     ip

    }

}

 

...   

7.3 Nginxの実行
nginx-t#構成に問題がないことを確認し、問題があれば先に解決してください
$ systemctl start nginx
$ systemctl enable nginx

 
7.4ファイアウォールの設定説明
$ firewall-cmd --zone=public--add-port=8080/tcp --permanent  #jumpserver   
$ firewall-cmd --zone=public--add-port=80/tcp --permanent  # nginx   
$ firewall-cmd --zone=public--add-port=2222/tcp --permanent  #   SSH     coco
$ firewall-cmd --zone=public--add-port=5000/tcp --permanent  #   HTTP/WS     coco
$ firewall-cmd --zone=public--add-port=8081/tcp --permanent  #guacamole   docker
$ firewall-cmd –reload  #          

7.4 Jumpserverの使用開始
アプリケーションが正常に動作しているかどうかを確認します.
$ cd /opt/jumpserver
$ ./jms status  #   jumpserver    ,           jumpserver
$ cd /opt/coco
$ ./cocod status  #   jumpserver    ,           coco

 
#Guacamoleがインストールされている場合
$ docker ps #             ,           Guacamole

 
サービスがすべて開始されると、http://192.168.9.62
デフォルトアカウント:adminパスワード:admin
導入中にアプリケーションの登録を受け付けていない場合は、Jumpserverセッション管理-端末管理でCoco Guacamoleなどのアプリケーションの登録を受け付ける必要があります.
 
8.接続のテスト
#ログインクライアントがmacOSまたはLinuxの場合、ログイン構文は次のとおりです.
$ ssh -p2222 [email protected]
$ sftp -P2222 [email protected]
  : admin

#ログインクライアントがWindowsの場合、XshellTerminalログイン構文は次のとおりです.
$ ssh [email protected] 2222
$ sftp [email protected] 2222

パスワード:admin
代表部署へのログインが成功した場合
#sftpのデフォルトのアップロード先は、資産の/tmpディレクトリの下にあります.