junmserver跳板機服務器部署

環境準備

1.改主機名
2.關selinux和firewalld,
3;開啓iptables,導入iptables模板。

[root@localhost ~]#systemctl   disable   firewalld
[root@localhost ~]#setenforce 0
[root@localhost ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux

修改主機名:

[root@localhost ~]#hostnamectl  --static   set-hostname   junmserver

這條命令在centos7中是永久有效的

開始部署

一. 準備 Python3 和 Python 虛擬環境

1.1 安裝依賴包

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

1.2 安裝 Python3.6

[root@junmserver ~]#wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@junmserver ~]#tar -xf Python-3.6.1.tar.xz
[root@junmserver ~]# cd Python-3.6.1/
[root@junmserver  Python-3.6.1]# ./configure && make && make install

1.3 建立 Python 虛擬環境

#因爲 CentOS 7 自帶的是 Python2, 而 Yum 等工具依賴原來的 Python, 爲了不擾亂原來的環境我們來使用 Python 虛擬環境

[root@junmserver  Python-3.6.1]# cd /opt
[root@junmserver  opt]# python3.6 -m venv py3

#執行source命令進入虛擬環境

[root@junmserver opt]# source /opt/py3/bin/activate

#看到下面的提示符有(py3)代表成功, 以後運行 Jumpserver 都要先運行以上 source 命令, 以下所有命令均在該虛擬環境中運行

二. 安裝 Jumpserver

2.1 下載或 Clone 項目

#項目提交較多 git clone 時較大, 你可以選擇去 Github 項目頁面直接下載zip包。

(py3) [root@junmserver opt]# git clone --depth=1  https://github.com/jumpserver/jumpserver.git

2.2 安裝依賴 RPM 包

(py3) [root@junmserver opt]# cd jumpserver/requirements/
(py3) [root@junmserver requirements]# yum -y install $(cat rpm_requirements.txt)

2.3 安裝 Python 庫依賴

(py3) [root@junmserver requirements]# pip install --upgrade pip setuptools

#不要指定-i參數,因爲鏡像上面可能沒有最新的包;如果執行報錯,多執行幾次即可

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

#如果下載速度過慢,可以使用國內阿里源

(py3)[root@junmserver ~]#pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/
(py3)[root@junmserver ~]#pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

這裏一般會報兩個錯誤,是因爲當前系統版本不符合環境要求,重新下載需要的版本文件。

ERROR: elasticsearch 6.1.1 has requirement urllib3<1.23,>=1.21.1, but you’ll have urllib3 1.25.2 which is incompatible.

執行:easy_install urllib3==1.21.1

ERROR: django-radius 1.3.3 has requirement future==0.16.0, but you’ll have future 0.17.1 which is incompatible.

執行: pip install future==0.16.0

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

(py3) [root@junmserver requirements]# cd
(py3) [root@junmserver ~]# yum -y install redis
(py3) [root@junmserver ~]# systemctl start redis
(py3) [root@junmserver ~]# systemctl enable redis

2.5 安裝 MySQL

(py3) [root@junmserver ~]# yum -y install mariadb mariadb-devel mariadb-server
(py3) [root@junmserver ~]# systemctl start mariadb
(py3) [root@junmserver ~]# systemctl enable mariadb

2.6 創建數據庫 Jumpserver 並授權

#生成隨機數據庫密碼

(py3) [root@junmserver ~]# cd /opt/jumpserver/requirements/

#利用隨機數生成一個隨機密碼

(py3) [root@junmserver requirements]# DB_PASSWORD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`

#彩色打印出密碼

(py3) [root@junmserver requirements]# echo -e "\033[31m 你的數據庫密碼是 $DB_PASSWORD \033[0m"
(py3) [root@junmserver requirements]# mysql -uroot -e "create database jumpserver default charset 'utf8'; grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '$DB_PASSWORD'; flush privileges;"

2.7 修改 Jumpserver 配置文件

(py3) [root@junmserver requirements]# cd ..

#複製yml模板文件

(py3) [root@junmserver jumpserver]# cp config_example.yml config.yml

#取隨機數,並寫入到root下面的.bashrc裏面中

(py3) [root@junmserver jumpserver]# SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
(py3) [root@junmserver jumpserver]# echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc
(py3) [root@junmserver jumpserver]# BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
(py3) [root@junmserver jumpserver]# echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc

#對config.yml文件進行修改配置
在這裏插入圖片描述
在這裏插入圖片描述

(py3) [root@junmserver jumpserver]# sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g" /opt/jumpserver/config.yml
(py3) [root@junmserver jumpserver]# sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/jumpserver/config.yml
(py3) [root@junmserver jumpserver]# sed -i "s/# DEBUG: true/DEBUG: false/g" /opt/jumpserver/config.yml
(py3) [root@junmserver jumpserver]# sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" /opt/jumpserver/config.yml
(py3) [root@junmserver jumpserver]# sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" /opt/jumpserver/config.yml
(py3) [root@junmserver jumpserver]# sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" /opt/jumpserver/config.yml

在這裏插入圖片描述
在這裏插入圖片描述
#可以查看一下你寫入的密碼是否正確

(py3) [root@junmserver jumpserver]# echo -e "\033[31m 你的SECRET_KEY是 $SECRET_KEY \033[0m"
(py3) [root@junmserver jumpserver]# echo -e "\033[31m 你的BOOTSTRAP_TOKEN是 $BOOTSTRAP_TOKEN \033[0m"

#確認內容有沒有錯誤

(py3) [root@junmserver jumpserver]# cat  config.yml  
config.yml解釋# SECURITY WARNING: keep the secret key used in production secret!# 加密祕鑰 生產環境中請修改爲隨機字符串, 請勿外泄
SECRET_KEY:# SECURITY WARNING: keep the bootstrap token used in production secret!# 預共享Token coco和guacamole用來註冊服務賬號, 不在使用原來的註冊接受機制
BOOTSTRAP_TOKEN:# Development env open this, when error occur display the full process track, Production disable it# DEBUG 模式 開啓DEBUG後遇到錯誤時可以看到更多日誌
DEBUG: false# DEBUG, INFO, WARNING, ERROR, CRITICAL can set. See https://docs.djangoproject.com/en/1.10/topics/logging/# 日誌級別
LOG_LEVEL: ERROR# LOG_DIR:# Session expiration setting, Default 24 hour, Also set expired on on browser close# 瀏覽器Session過期時間, 默認24小時, 也可以設置瀏覽器關閉則過期# SESSION_COOKIE_AGE: 86400
SESSION_EXPIRE_AT_BROWSER_CLOSE: true# Database setting, Support sqlite3, mysql, postgres ....# 數據庫設置# See https://docs.djangoproject.com/en/1.10/ref/settings/#databases# SQLite setting:# 使用單文件sqlite數據庫# DB_ENGINE: sqlite3# DB_NAME:# MySQL or postgres setting like:# 使用Mysql作爲數據庫
DB_ENGINE: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_USER: jumpserver
DB_PASSWORD:
DB_NAME: jumpserver# When Django start it will bind this host and port# ./manage.py runserver 127.0.0.1:8080# 運行時綁定端口
HTTP_BIND_HOST: 0.0.0.0
HTTP_LISTEN_PORT: 8080# Use Redis as broker for celery and web socket# Redis配置
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379# REDIS_PASSWORD:# REDIS_DB_CELERY: 3# REDIS_DB_CACHE: 4# Use OpenID authorization# 使用OpenID 來進行認證設置# BASE_SITE_URL: http://localhost:8080# AUTH_OPENID: false  # True or False# AUTH_OPENID_SERVER_URL: https://openid-auth-server.com/# AUTH_OPENID_REALM_NAME: realm-name# AUTH_OPENID_CLIENT_ID: client-id# AUTH_OPENID_CLIENT_SECRET: client-secret# OTP settings# OTP/MFA 配置# OTP_VALID_WINDOW: 0# OTP_ISSUER_NAME: Jumpserver

2.8 運行 Jumpserver

#後臺運行使用-d參數

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

#新版本更新了運行腳本,使用方式./jms start | stop | status all 後臺運行請添加-d參數

在這裏插入圖片描述
#這裏只是 Jumpserver, 沒有 Web Terminal,所以訪問 Web Terminal 會報錯
瀏覽器訪問 http://12.188.101.121:8080/
賬號admin , 密碼admin
在這裏插入圖片描述

三. 安裝 SSH Server 和 WebSocket Server: Coco

3.1 下載或 Clone 項目
(py3) [root@jumpserver jumpserver]# cd /opt
(py3) [root@jumpserver opt]# git clone --depth=1 https://github.com/jumpserver/coco.git

3.2 安裝依賴
#個人強迫想改名,你們可以不需要

(py3) [root@jumpserver opt]# mv coco-master/ coco
(py3) [root@jumpserver opt]# cd coco/requirements/
(py3) [root@jumpserver requirements]# yum -y install $(cat rpm_requirements.txt)
(py3) [root@jumpserver requirements]# pip install -r requirements.txt

在這裏插入圖片描述
#如果下載速度很慢,可以換國內源

(py3) [root@jumpserver opt]#pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

3.3 修改配置文件並運行

(py3) [root@jumpserver requirements]# cd ..
(py3) [root@jumpserver coco]# cp config_example.yml config.yml

在這裏插入圖片描述
在這裏插入圖片描述

(py3)[root@jumpserver coco]
sed -i "s/BOOTSTRAP_TOKEN:<PleasgeChangeSameWithJumpserver>/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/coco/config.yml
(py3) [root@jumpserver coco]# sed -i "s/# LOG_LEVEL: INFO/LOG_LEVEL: ERROR/g" /opt/coco/config.yml

在這裏插入圖片描述
在這裏插入圖片描述
#查看有沒有改錯

(py3) [root@jumpserver coco]# cat  config.yml

config.yml解釋# 項目名稱, 會用來向Jumpserver註冊, 識別而已, 不能重複# NAME: {{ Hostname
}}# Jumpserver項目的url, api請求註冊會使用 CORE_HOST: http://127.0.0.1:8080#
Bootstrap Token, 預共享祕鑰, 用來註冊coco使用的service account和terminal#
請和jumpserver 配置文件中保持一致, 註冊完成後可以刪除 BOOTSTRAP_TOKEN:
# 啓動時綁定的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:
null# ACCESS KEY 保存的地址, 默認註冊後會保存到該文件中# ACCESS_KEY_STORE:
data/keys/.access_key# 加密密鑰# SECRET_KEY: null# 設置日誌級別 [DEBUG, INFO,
WARN, ERROR, FATAL, CRITICAL] LOG_LEVEL: ERROR# 日誌存放的目錄# LOG_DIR:
logs# SSH白名單# ALLOW_SSH_USER: all# SSH黑名單, 如果用戶同時在白名單和黑名單, 黑名單優先生效#
BLOCK_SSH_USER:# -# 和Jumpserver 保持心跳時間間隔# HEARTBEAT_INTERVAL: 5#
Admin的名字, 出問題會提示給用戶# ADMINS: ‘’# SSH連接超時時間 (default 15 seconds)#
SSH_TIMEOUT: 15# 語言 [en, zh]# LANGUAGE_CODE: zh# SFTP的根目錄, 可選 /tmp,
Home其他自定義目錄# SFTP_ROOT: /tmp# SFTP是否顯示隱藏文件# SFTP_SHOW_HIDDEN_FILE:
false

#後臺運行使用 -d 參數

(py3) [root@jumpserver coco]# ./cocod start -d

#新版本更新了運行腳本, 使用方式./cocod start|stop|status 後臺運行請添加 -d 參數
這時需要去 Jumpserver 管理後臺-會話管理-終端管理(http://12.188.101.121:8080/terminal/terminal/)接受 Coco 的註冊
#終端連接
(py3) [root@jumpserver coco]# ssh -p2222 [email protected]
密碼爲admin,登錄成功即顯示下圖
在這裏插入圖片描述

四. 安裝 Web Terminal 前端: Luna

Luna 已改爲純前端, 需要 Nginx 來運行訪問
訪問(https://github.com/jumpserver/luna/releases)下載對應版本的 release 包, 直接解壓不需要編譯
4.1 解壓 Luna
(py3) [root@jumpserver opt]# cd /opt
(py3) [root@jumpserver opt]# wget https://github.com/jumpserver/luna/releases/download/1.4.10/luna.tar.gz

如果網絡有問題導致下載無法完成可以使用下面地址

(py3) [root@jumpserver opt]#wget https://demo.jumpserver.org/download/luna/1.4.10/luna.tar.gz
(py3) [root@jumpserver opt]# tar -xf luna.tar.gz

#查看luna的屬主和屬組,我們發現並不是root,所以我們得修改

(py3) [root@jumpserver opt]# ll

在這裏插入圖片描述

(py3) [root@jumpserver opt]# chown -R root:root luna

在這裏插入圖片描述

五.Docker安裝guacamole組件,支持window資產連接

(py3) [root@jumpserver opt]# cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN
(py3) [root@jumpserver opt]# env | grep BOOTSTRAP_TOKEN

http://<Jumpserver_url> 指向 jumpserver 的服務url, 如 http://192.168.244.144:8080
#BOOTSTRAP_TOKEN 爲 Jumpserver/config.yml 裏面的 BOOTSTRAP_TOKEN

(py3) [root@jumpserver opt]#docker run --name jms_guacamole -d -p 8081:8081 -e JUMPSERVER_SERVER=http://<Jumpserver_url> -e BOOTSTRAP_TOKEN=xxxxxx jumpserver/jms_guacamole:1.5.2

這裏我運行的是

(py3) [root@jumpserver opt]#docker run --name jms_guacamole -d -p 8081:8081 -e  JUMPSERVER_SERVER=http://12.188.101.99 -e BOOTSTRAP_TOKEN=67ZNpykNatQNlc5p  jumpserver/jms_guacamole:1.5.2

正常運行後到Jumpserver 會話管理-終端管理 裏面查看 gua 的狀態是否爲綠色(等待大概5s後刷新頁面)

六.配置 Nginx 整合各組件

可以選擇源碼安裝,我這裏直接配置的nginx的yum源用yum來安裝

5.1 安裝 Nginx

(py3) [root@jumpserver opt]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
(py3) [root@jumpserver opt]# yum makecache fast
(py3) [root@jumpserver opt]# yum install -y nginx
(py3) [root@jumpserver opt]# rm -rf /etc/nginx/conf.d/default.conf
(py3) [root@jumpserver opt]# systemctl enable nginx

5.2 準備配置文件

(py3) [root@jumpserver opt]# vim /etc/nginx/conf.d/jumpserver.conf
server {
    listen 80;  # 代理端口, 以後將通過此端口進行訪問, 不再通過8080端口
    # server_name demo.jumpserver.org;  # 修改成你的域名或者註釋掉
    client_max_body_size 100m;  # 錄像及文件上傳大小限制
    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 /coco/ {
        proxy_pass       http://localhost:5000/coco/;  # 如果coco安裝在別的服務器, 請填寫它的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;
        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;
    }}

5.3 運行 Nginx

#確保配置沒有問題, 有問題請先解決

(py3) [root@jumpserver opt]# nginx -t

#CentOS 7

(py3) [root@jumpserver opt]# systemctl start nginx

5.4 重啓 Jumpserver的命令

(py3) [root@jumpserver opt]#source /opt/py3/bin/activate  
(py3) [root@jumpserver opt]#cd /opt/jumpserver/

啓動命令 ./jms start all -d 停止命令./jms stop all

(py3) [root@jumpserver opt]#cd opt/coco/
(py3) [root@jumpserver coco]#./cocod start -d   停止命令:ss -tnulp |grep 5000查看pid ,kill -9 pid號殺死進程
(py3) [root@jumpserver coco]#docker  restart  jms_guacamole
(py3) [root@jumpserver coco]#systemctl start nginx

5.5 開始使用 Jumpserver

檢查應用是否已經正常運行服務全部啓動後, 訪問 http://12.188.101.121, 訪問nginx代理的端口, 不要再通過8080端口訪問

在這裏插入圖片描述

默認賬號: admin 密碼: admin

到Jumpserver 會話管理-終端管理 檢查 Coco Guacamole 等應用的註冊。
如果登錄客戶端是 macOS 或 Linux, 登錄語法如下ssh -p2222 [email protected] -P2222 [email protected]
密碼: admin

如果登錄客戶端是 Windows, Xshell Terminal 登錄語法如下ssh [email protected] 2222sftp [email protected] 2222
密碼: admin

如果能登陸代表部署成功
sftp默認上傳的位置在資產的 /tmp 目錄下
windows拖拽上傳的位置在資產的 Guacamole RDP上的 G 目錄下
安裝過程中常見的錯誤:

1、git clone 提示 ssl 錯誤
#一般是由於時間不同步, 或者網絡有問題導致的# 可以嘗試下載 releases 包
2、pip install 提示 ssl 錯誤
#參考第一條解決
3、pip install 提示 download 錯誤
#一般是由於網絡不好, 導致下載文件失敗, 重新執行命令即可# 如果多次重試均無效, 請更換網絡環境
4、pip install 提示 Could not find a version that satisfies the requirement xxxxxxx.x.xx(版本)
#一般是由於鏡像源未同步, -i 指定官方源即可, 如:
$ pip install -r requirement.txt -i https://pypi.org/simple
$ pip install xxxxx
x.x.xx -i https://pypi.org/simple
5、pip install 提示 install for mysqlclient … error /usr/bin/ld: 找不到 -lmariadb
#如果是 Mariadb 大於 10 版本
$ yum install MariaDB-shared
6、sh make_migrations.sh 時報錯 from config import config as CONFIG File “/opt/jumpserver/config.yml”, line 38
#這是由於 config.yml 裏面的內容格式不對, 請參考安裝文檔的說明, 把提示的內容與上一行對齊即可
7、sh make_migrations.sh 時報錯 Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
#一般是由於 py3 環境未載入
$ source /opt/py3/bin/activate# 看到下面的提示符代表成功, 以後運行 Jumpserver 都要先運行以上 source 命令, 以下所有命令均在該虛擬環境中運行(py3) [root@localhost py3]# 如果已經在 py3 虛擬環境下, 任然報 Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
$ cd /opt/jumpserver/requirements
$ pip install -r requirements.txt# 然後重新執行 sh make_migrations.sh
8、sh make_migrations.sh 報錯 CommandError: Conflicting migrations detected; multiple … django_celery_beat …
#這是由於 django-celery-beat老版本有bug引起的
$ rm -rf /opt/py3/lib/python3.6/site-packages/django_celery_beat/migrations/
$ pip uninstall django-celery-beat
$ pip install django-celery-beat
9、執行 ./jms start all 後一直卡在 beat: Waking up in 1.00 minute.
#如果沒有error提示進程無法啓動, 那麼這是正常現象# 如果不想在前臺啓動, 可以使用 ./jms start all -d 在後臺啓動
10、執行 ./jms start all 後提示 xxx is stopped
#Error: xxx start error# xxx is stopped
$ ./jms restart xxx # 如 ./jms restart gunicorn
11、執行 ./jms start all 後提示 WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection ‘default’ …
#這是嚴格模式的警告, 可以參考後面的url解決, 或者忽略
12、啓動 Jumpserver 或者 coco 報錯 Error: expected ‘’, but found ‘’
#這是因爲你的 config.yml 文件格式有誤# 常見的錯誤就是字段爲空或者: 後面有一個空格# SECRET_KEY: xxxxx # 不要忽略: 後面的空格
13、啓動 jumpserver 後, 訪問 8080 端口頁面顯示不正常
#這是因爲你在 config.yml 裏面設置了 DEBUG: false# 跟着教程繼續操作, 後面搭建 nginx 代理即可正常訪問
14、執行 ./cocod start 後提示 No module named ‘jms’
#一般是由於 py3 環境未載入
$ source /opt/py3/bin/activate# 看到下面的提示符代表成功, 以後運行 Jumpserver 都要先運行以上 source 命令, 以下所有命令均在該虛擬環境中運行(py3) [root@localhost py3]# 如果已經在 py3 虛擬環境下
$ cd /opt/coco/
$ pip install -r requirements/requirements.txt# 然後重新執行 ./cocod start 即可
15、執行 ./cocod start 後提示 Failed register terminal xxxx exist already
#這是由於 coco 註冊未成功造成的, 需要重新註冊 (能正常訪問 jumpserver 頁面後再處理)# 到 Jumpserver後臺 會話管理-終端管理 刪掉 coco 的註冊# 必須到 Jumpserver後臺 會話管理-終端管理 刪掉 coco 的註冊# 一定要先到 Jumpserver後臺 會話管理-終端管理 刪掉 coco 的註冊
$ cd /opt/coco && ./cocod stop
$ rm /opt/coco/data/keys/.access_key # coco, 如果你是按文檔安裝的, key應該在這裏, 如果不存在key文件直接下一步
$ ./cocod start -d # 正常運行後到Jumpserver 會話管理-終端管理 裏面接受coco註冊
16、執行 ./cocod start 後提示 Failed register terminal unknow: xxxx
#這是因爲當前系統的 hostname 有 coco 不支持的字符, 需要手動指定 coco 的 NAME
$ cd /opt/coco/
$ vi config.yml# 項目名稱, 會用來向Jumpserver註冊, 識別而已, 不能重複# NAME: {{ Hostname }}
NAME: localhost# 保存後重新執行 ./cocod start 即可
17、運行 ./cocod start 後提示 “detail”:“身份認證信息未提供。” Failed register terminal
#保證 coco 的 BOOTSTRAP_TOKEN 與 jumpserver/config.yml 裏面的內容不一致
$ cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN
$ cat /opt/coco/config.yml | grep BOOTSTRAP_TOKEN# 修改成一致保存後 重新執行 ./cocod start 即可
18、運行 ./cocod start 後提示 Connect endpoint http://xxxx:8080 error: HTTPConnectionPool(host=‘xxxx’, port=8080)
#這是因爲 coco 無法連接到 jumpserver 報的錯誤, 確定 http://xxxx:8080 設置正確(配置文件 coco/config.yml)# 如果 jumpserver 的IP和端口不對, 請手動修改 config.yml 的 CORE_HOST
19、運行 ./cocod start 後提示 Unexpected error occur: ‘AppService’ object has no attribute ‘get_system_user_cmd_filter_rules’
#這是因爲你的 pip 依賴包未正確安裝, 參考本文檔第 4 條
20、通過 nginx 代理的端口訪問 jumpserver 頁面顯示不正常
#這是因爲你沒有按照教程進行安裝, 修改了安裝目錄, 需要在 nginx 的配置文件裏面修改資源路徑
$ vi /etc/nginx/conf.d/jumpserver.conf
21、訪問 luna 頁面提示 Luna是單獨部署的一個程序, 你需要部署luna, coco, 配置nginx做url分發…
#請通過 nginx 代理的端口訪問 jumpserver 頁面, 不要再直接訪問 8080 端口

重啓命令


1、重啓服務器:reboot

2、開啓nginx:systemctl start nginx

3、啓動jumpserver
cd /opt/
source /opt/py3/bin/activate
cd /opt/jumpserver/
./jms start all -d
cd /opt/coco/
./cocod start -d
ss -tnulp |grep 5000

4、啓動guacamole組件,支持windows資產連接
docker restart jms_guacamole2
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章