Ubuntu怎么安裝Jumpserver

這篇“Ubuntu怎么安裝Jumpserver”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Ubuntu怎么安裝Jumpserver”文章吧。

成都創(chuàng)新互聯(lián)專注于鎮(zhèn)海企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),電子商務(wù)商城網(wǎng)站建設(shè)。鎮(zhèn)海網(wǎng)站建設(shè)公司,為鎮(zhèn)海等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

環(huán)境

  • 系統(tǒng): Ubuntu 16.04

  • IP: 192.168.244.144

  • 數(shù)據(jù)庫(kù):MySQL 版本大于等于 5.6 mariadb 版本大于等于 5.5.6

測(cè)試推薦硬件

  • CPU: 64位雙核處理器

  • 內(nèi)存: 4G DDR3

一. 準(zhǔn)備 Python3 和 Python 虛擬環(huán)境

1.1 安裝依賴包

$apt-getupdate&&apt-get-yupgrade
$apt-get-yinstallwgetgcclibffi-devgitlibmysqlclient-dev

#修改字符集,否則可能報(bào)input/outputerror的問(wèn)題,因?yàn)槿罩纠锎蛴×酥形?
$apt-get-yinstalllanguage-pack-zh-hans
$exportLC_ALL=zh_CN.UTF-8
$echo'LANG="zh_CN.UTF-8"'>/etc/default/locale

1.2 安裝 Python3.6

$add-apt-repositoryppa:jonathonf/python-3.6-y
$apt-getupdate
$apt-get-yinstallpython3.6python3.6-devpython3.6-venv

1.3 建立 Python 虛擬環(huán)境

為了不擾亂原來(lái)的環(huán)境我們來(lái)使用 Python 虛擬環(huán)境

$cd/opt
$python3.6-mvenvpy3
$source/opt/py3/bin/activate

#看到下面的提示符代表成功,以后運(yùn)行Jumpserver都要先運(yùn)行以上source命令,以下所有命令均在該虛擬環(huán)境中運(yùn)行
(py3)[root@localhostpy3]

1.4 自動(dòng)載入 Python 虛擬環(huán)境配置

此項(xiàng)僅為懶癌晚期的人員使用,防止運(yùn)行 Jumpserver 時(shí)忘記載入 Python 虛擬環(huán)境導(dǎo)致程序無(wú)法運(yùn)行。使用autoenv

$cd/opt
$gitclonehttps://github.com/kennethreitz/autoenv.git
$echo'source/opt/autoenv/activate.sh'>>~/.bashrc
$source~/.bashrc

二. 安裝 Jumpserver

2.1 下載或 Clone 項(xiàng)目

項(xiàng)目提交較多 git clone 時(shí)較大,你可以選擇去 Github 項(xiàng)目頁(yè)面直接下載zip包。

$cd/opt/
$gitclonehttps://github.com/jumpserver/jumpserver.git
$echo"source/opt/py3/bin/activate">/opt/jumpserver/.env#進(jìn)入jumpserver目錄時(shí)將自動(dòng)載入python虛擬環(huán)境

#首次進(jìn)入jumpserver文件夾會(huì)有提示,按y即可
#Areyousureyouwanttoallowthis?(y/N)y

2.2 安裝依賴包

$cd/opt/jumpserver/requirements
$apt-get-yinstall$(catdeb_requirements.txt)#如果沒(méi)有任何報(bào)錯(cuò)請(qǐng)繼續(xù)

2.3 安裝 Python 庫(kù)依賴

$pipinstall--upgradepipsetuptools
$pipinstall-rrequirements.txt

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

$apt-get-yinstallredis-server

2.5 安裝 MySQL

本教程使用 Mysql 作為數(shù)據(jù)庫(kù),如果不使用 Mysql 可以跳過(guò)相關(guān) Mysql 安裝和配置

$apt-get-yinstallmysql-server#安裝過(guò)程中注意輸入數(shù)據(jù)庫(kù)root賬戶的密碼

2.6 創(chuàng)建數(shù)據(jù)庫(kù) Jumpserver 并授權(quán)

$DB_PASSWORD=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c24`#生成隨機(jī)數(shù)據(jù)庫(kù)密碼
$echo-e"\033[31m你的數(shù)據(jù)庫(kù)密碼是$DB_PASSWORD\033[0m"
$mysql-uroot-p-e"createdatabasejumpserverdefaultcharset'utf8';grantallonjumpserver.*to'jumpserver'@'127.0.0.1'identifiedby'$DB_PASSWORD';flushprivileges;"

2.7 修改 Jumpserver 配置文件

$cd/opt/jumpserver
$cpconfig_example.ymlconfig.yml

$SECRET_KEY=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c50`#生成隨機(jī)SECRET_KEY
$BOOTSTRAP_TOKEN=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c16`#生成隨機(jī)BOOTSTRAP_TOKEN

$sed-i"s/SECRET_KEY:/SECRET_KEY:$SECRET_KEY/g"/opt/jumpserver/config.yml
$sed-i"s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN:$BOOTSTRAP_TOKEN/g"/opt/jumpserver/config.yml
$sed-i"s/#DEBUG:true/DEBUG:false/g"/opt/jumpserver/config.yml
$sed-i"s/#LOG_LEVEL:DEBUG/LOG_LEVEL:ERROR/g"/opt/jumpserver/config.yml
$sed-i"s/#SESSION_EXPIRE_AT_BROWSER_CLOSE:false/SESSION_EXPIRE_AT_BROWSER_CLOSE:true/g"/opt/jumpserver/config.yml
$sed-i"s/DB_PASSWORD:/DB_PASSWORD:$DB_PASSWORD/g"/opt/jumpserver/config.yml

$echo-e"\033[31m你的SECRET_KEY是$SECRET_KEY\033[0m"
$echo-e"\033[31m你的BOOTSTRAP_TOKEN是$BOOTSTRAP_TOKEN\033[0m"

$vimconfig.yml#確認(rèn)內(nèi)容有沒(méi)有錯(cuò)誤
#SECURITYWARNING:keepthesecretkeyusedinproductionsecret!
#加密秘鑰生產(chǎn)環(huán)境中請(qǐng)修改為隨機(jī)字符串,請(qǐng)勿外泄
SECRET_KEY:

#SECURITYWARNING:keepthebootstraptokenusedinproductionsecret!
#預(yù)共享Tokencoco和guacamole用來(lái)注冊(cè)服務(wù)賬號(hào),不在使用原來(lái)的注冊(cè)接受機(jī)制
BOOTSTRAP_TOKEN:

#Developmentenvopenthis,whenerroroccurdisplaythefullprocesstrack,Productiondisableit
#DEBUG模式開(kāi)啟DEBUG后遇到錯(cuò)誤時(shí)可以看到更多日志
DEBUG:false

#DEBUG,INFO,WARNING,ERROR,CRITICALcanset.Seehttps://docs.djangoproject.com/en/1.10/topics/logging/
#日志級(jí)別
LOG_LEVEL:ERROR
#LOG_DIR:

#Sessionexpirationsetting,Default24hour,Alsosetexpiredononbrowserclose
#瀏覽器Session過(guò)期時(shí)間,默認(rèn)24小時(shí),也可以設(shè)置瀏覽器關(guān)閉則過(guò)期
#SESSION_COOKIE_AGE:86400
SESSION_EXPIRE_AT_BROWSER_CLOSE:true

#Databasesetting,Supportsqlite3,mysql,postgres....
#數(shù)據(jù)庫(kù)設(shè)置
#Seehttps://docs.djangoproject.com/en/1.10/ref/settings/#databases

#SQLitesetting:
#使用單文件sqlite數(shù)據(jù)庫(kù)
#DB_ENGINE:sqlite3
#DB_NAME:

#MySQLorpostgressettinglike:
#使用Mysql作為數(shù)據(jù)庫(kù)
DB_ENGINE:mysql
DB_HOST:127.0.0.1
DB_PORT:3306
DB_USER:jumpserver
DB_PASSWORD:
DB_NAME:jumpserver

#WhenDjangostartitwillbindthishostandport
#./manage.pyrunserver127.0.0.1:8080
#運(yùn)行時(shí)綁定端口
HTTP_BIND_HOST:0.0.0.0
HTTP_LISTEN_PORT:8080

#UseRedisasbrokerforceleryandwebsocket
#Redis配置
REDIS_HOST:127.0.0.1
REDIS_PORT:6379
#REDIS_PASSWORD:
#REDIS_DB_CELERY:3
#REDIS_DB_CACHE:4

#UseOpenIDauthorization
#使用OpenID來(lái)進(jìn)行認(rèn)證設(shè)置
#BASE_SITE_URL:http://localhost:8080
#AUTH_OPENID:false#TrueorFalse
#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

#OTPsettings
#OTP/MFA配置
#OTP_VALID_WINDOW:0
#OTP_ISSUER_NAME:Jumpserver

2.8 運(yùn)行 Jumpserver

$cd/opt/jumpserver
$./jmsstartall#后臺(tái)運(yùn)行使用-d參數(shù)./jmsstartall-d

#新版本更新了運(yùn)行腳本,使用方式./jmsstart|stop|status|restartall后臺(tái)運(yùn)行請(qǐng)?zhí)砑?d參數(shù)

運(yùn)行不報(bào)錯(cuò),請(qǐng)繼續(xù)往下操作

三. 安裝 SSH Server 和 WebSocket Server: Coco

3.1 下載或 Clone 項(xiàng)目

新開(kāi)一個(gè)終端

$cd/opt
$source/opt/py3/bin/activate
$gitclonehttps://github.com/jumpserver/coco.git&&cdcoco&&gitcheckoutmaster
$echo"source/opt/py3/bin/activate">/opt/coco/.env#進(jìn)入coco目錄時(shí)將自動(dòng)載入python虛擬環(huán)境

#首次進(jìn)入coco文件夾會(huì)有提示,按y即可
#Areyousureyouwanttoallowthis?(y/N)y

3.2 安裝依賴

$cd/opt/coco/requirements
$pipinstall-rrequirements.txt

3.3 查看配置文件并運(yùn)行

$cd/opt/coco
$mkdirkeyslogs
$cpconfig_example.ymlconfig.yml
$vimconfig.yml
#項(xiàng)目名稱,會(huì)用來(lái)向Jumpserver注冊(cè),識(shí)別而已,不能重復(fù)
#NAME:{{Hostname}}

#Jumpserver項(xiàng)目的url,api請(qǐng)求注冊(cè)會(huì)使用
CORE_HOST:http://127.0.0.1:8080

#BootstrapToken,預(yù)共享秘鑰,用來(lái)注冊(cè)coco使用的serviceaccount和terminal
#請(qǐng)和jumpserver配置文件中保持一致,注冊(cè)完成后可以刪除
BOOTSTRAP_TOKEN:<ChangeIT>

#啟動(dòng)時(shí)綁定的ip,默認(rèn)0.0.0.0
#BIND_HOST:0.0.0.0

#監(jiān)聽(tīng)的SSH端口號(hào),默認(rèn)2222
#SSHD_PORT:2222

#監(jiān)聽(tīng)的HTTP/WS端口號(hào),默認(rèn)5000
#HTTPD_PORT:5000

#項(xiàng)目使用的ACCESSKEY,默認(rèn)會(huì)注冊(cè),并保存到ACCESS_KEY_STORE中,
#如果有需求,可以寫(xiě)到配置文件中,格式access_key_id:access_key_secret
#ACCESS_KEY:null

#ACCESSKEY保存的地址,默認(rèn)注冊(cè)后會(huì)保存到該文件中
#ACCESS_KEY_STORE:keys/.access_key

#加密密鑰
#SECRET_KEY:null

#設(shè)置日志級(jí)別[DEBUG,INFO,WARN,ERROR,FATAL,CRITICAL]
#LOG_LEVEL:INFO
LOG_LEVEL:ERROR

#日志存放的目錄
#LOG_DIR:logs

#SSH白名單
#ALLOW_SSH_USER:all

#SSH黑名單,如果用戶同時(shí)在白名單和黑名單,黑名單優(yōu)先生效
#BLOCK_SSH_USER:
#-

#和Jumpserver保持心跳時(shí)間間隔
#HEARTBEAT_INTERVAL:5

#Admin的名字,出問(wèn)題會(huì)提示給用戶
#ADMINS:''

#SSH連接超時(shí)時(shí)間(default15seconds)
#SSH_TIMEOUT:15

#語(yǔ)言[en,zh]
#LANGUAGE_CODE:zh

#SFTP的根目錄,可選/tmp,Home其他自定義目錄
#SFTP_ROOT:/tmp

#SFTP是否顯示隱藏文件
#SFTP_SHOW_HIDDEN_FILE:false
$./cocodstart#后臺(tái)運(yùn)行使用-d參數(shù)./cocodstart-d

#新版本更新了運(yùn)行腳本,使用方式./cocodstart|stop|status|restart后臺(tái)運(yùn)行請(qǐng)?zhí)砑?d參數(shù)

四. 安裝 Web Terminal 前端: Luna

Luna 已改為純前端,需要 Nginx 來(lái)運(yùn)行訪問(wèn)

訪問(wèn)(https://github.com/jumpserver/luna/releases)下載對(duì)應(yīng)版本的 release 包,直接解壓,不需要編譯

4.1 解壓 Luna

$cd/opt/
$wgethttps://github.com/jumpserver/luna/releases/download/1.4.7/luna.tar.gz
$tarxfluna.tar.gz
$chown-Rroot:rootluna

五. 安裝 Windows 支持組件(如果不需要管理 windows 資產(chǎn),可以直接跳過(guò)這一步)

5.1 安裝依賴

$apt-get-yinstalllibtoolautoconf
$apt-get-yinstalllibcairo2-devlibjpeg-turbo8-devlibpng12-devlibossp-uuid-dev
$apt-get-yinstalllibavcodec-devlibavutil-devlibswscale-devlibfreerdp-devlibpango1.0-devlibssh2-1-devlibtelnet-devlibvncserver-devlibpulse-devlibssl-devlibvorbis-devlibwebp-devghostscript
$ln-s/usr/local/lib/freerdp/usr/lib/x86_64-linux-gnu/freerdp
$apt-get-yinstalldefault-jredefault-jdk

5.2 編譯安裝 guacamole 服務(wù)

$cd/opt
$gitclonehttps://github.com/jumpserver/docker-guacamole.git
$cddocker-guacamole
$tarxfguacamole-server-0.9.14.tar.gz
$cdguacamole-server-0.9.14
$autoreconf-fi
$./configure--with-init-dir=/etc/init.d
$make&&makeinstall
$cd..
$rm-rfguacamole-server-0.9.14
$ldconfig

$mkdir-p/config/guacamole/config/guacamole/lib/config/guacamole/extensions#創(chuàng)建guacamole目錄
$ln-sf/opt/docker-guacamole/guacamole-auth-jumpserver-0.9.14.jar/config/guacamole/extensions/guacamole-auth-jumpserver-0.9.14.jar
$ln-sf/opt/docker-guacamole/root/app/guacamole/guacamole.properties/config/guacamole/guacamole.properties#guacamole配置文件

$cd/config
$wgethttps://github.com/ibuler/ssh-forward/releases/download/v0.0.5/linux-amd64.tar.gz
$tarxflinux-amd64.tar.gz-C/bin/
$chmod+x/bin/ssh-forward

5.3 配置 Tomcat

$cd/config
$wgethttp://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz
$tarxfapache-tomcat-8.5.38.tar.gz
$rm-rfapache-tomcat-8.5.38.tar.gz
$mvapache-tomcat-8.5.38tomcat8
$rm-rf/config/tomcat8/webapps/*
$ln-sf/opt/docker-guacamole/guacamole-0.9.14.war/config/tomcat8/webapps/ROOT.war#guacamoleclient
$sed-i's/Connectorport="8080"/Connectorport="8081"/g'/config/tomcat8/conf/server.xml#修改默認(rèn)端口為8081
$sed-i's/FINE/WARNING/g'/config/tomcat8/conf/logging.properties#修改log等級(jí)為WARNING

5.4 配置環(huán)境變量

$exportJUMPSERVER_SERVER=http://127.0.0.1:8080#http://127.0.0.1:8080指jumpserver訪問(wèn)地址
$echo"exportJUMPSERVER_SERVER=http://127.0.0.1:8080">>~/.bashrc

#BOOTSTRAP_TOKEN為Jumpserver/config.yml里面的BOOTSTRAP_TOKEN
$exportBOOTSTRAP_TOKEN=******
$echo"exportBOOTSTRAP_TOKEN=******">>~/.bashrc
$exportJUMPSERVER_KEY_DIR=/config/guacamole/keys
$echo"exportJUMPSERVER_KEY_DIR=/config/guacamole/keys">>~/.bashrc
$exportGUACAMOLE_HOME=/config/guacamole
$echo"exportGUACAMOLE_HOME=/config/guacamole">>~/.bashrc

5.5 啟動(dòng) Guacamole

$/etc/init.d/guacdrestart
$sh/config/tomcat8/bin/startup.sh

這里所需要注意的是 guacamole 暴露出來(lái)的端口是 8081,若與主機(jī)上其他端口沖突請(qǐng)自定義一下。

六. 配置 Nginx 整合各組件

6.1 安裝 Nginx

$apt-get-yinstallnginx
$rm-rf/etc/nginx/site-enabled/default

6.2 準(zhǔn)備配置文件 修改 /etc/nginx/site-enabled/jumpserver.conf

$vim/etc/nginx/site-enabled/jumpserver.confserver{
listen80;
server_name_;

client_max_body_size100m;#錄像及文件上傳大小限制

location/luna/{
try_files$uri//index.html;
alias/opt/luna/;#luna路徑,如果修改安裝目錄,此處需要修改
}

location/media/{
add_headerContent-Encodinggzip;
root/opt/jumpserver/data/;#錄像位置,如果修改安裝目錄,此處需要修改
}

location/static/{
root/opt/jumpserver/data/;#靜態(tài)資源,如果修改安裝目錄,此處需要修改
}

location/socket.io/{
proxy_passhttp://localhost:5000/socket.io/;#如果coco安裝在別的服務(wù)器,請(qǐng)?zhí)顚?xiě)它的ip
proxy_bufferingoff;
proxy_http_version1.1;
proxy_set_headerUpgrade$http_upgrade;
proxy_set_headerConnection"upgrade";
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
access_logoff;
}

location/coco/{
proxy_passhttp://localhost:5000/coco/;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
access_logoff;
}

location/guacamole/{
proxy_passhttp://localhost:8081/;#如果guacamole安裝在別的服務(wù)器,請(qǐng)?zhí)顚?xiě)它的ip
proxy_bufferingoff;
proxy_http_version1.1;
proxy_set_headerUpgrade$http_upgrade;
proxy_set_headerConnection$http_connection;
access_logoff;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}

location/{
proxy_passhttp://localhost:8080;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
}}

6.3 重啟 Nginx

$nginx-t#如果沒(méi)有報(bào)錯(cuò)請(qǐng)繼續(xù)$nginx-sreload

6.4 開(kāi)始使用 Jumpserver

服務(wù)全部啟動(dòng)后,訪問(wèn)http://192.168.244.144

默認(rèn)賬號(hào): admin 密碼: admin

到Jumpserver 會(huì)話管理-終端管理 檢查 Coco Guacamole 等應(yīng)用的注冊(cè)

測(cè)試連接

如果登錄客戶端是macOS或Linux,登錄語(yǔ)法如下
$ssh-p2222admin@192.168.244.144
$sftp-P2222admin@192.168.244.144
密碼:admin

如果登錄客戶端是Windows,XshellTerminal登錄語(yǔ)法如下
$sshadmin@192.168.244.1442222$sftpadmin@192.168.244.1442222密碼:admin
如果能登陸代表部署成功#sftp默認(rèn)上傳的位置在資產(chǎn)的/tmp目錄下#windows拖拽上傳的位置在資產(chǎn)的GuacamoleRDP上的G目錄下

以上就是關(guān)于“Ubuntu怎么安裝Jumpserver”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標(biāo)題:Ubuntu怎么安裝Jumpserver
本文網(wǎng)址:http://bm7419.com/article46/gipgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站維護(hù)營(yíng)銷型網(wǎng)站建設(shè)、云服務(wù)器、靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)