您好,登錄后才能下訂單哦!
這篇“Ubuntu怎么安裝Jumpserver”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Ubuntu怎么安裝Jumpserver”文章吧。
系統: Ubuntu 16.04
IP: 192.168.244.144
數據庫:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6
CPU: 64位雙核處理器
內存: 4G DDR3
1.1 安裝依賴包
$apt-getupdate&&apt-get-yupgrade $apt-get-yinstallwgetgcclibffi-devgitlibmysqlclient-dev #修改字符集,否則可能報input/outputerror的問題,因為日志里打印了中文 $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 虛擬環境
為了不擾亂原來的環境我們來使用 Python 虛擬環境
$cd/opt $python3.6-mvenvpy3 $source/opt/py3/bin/activate #看到下面的提示符代表成功,以后運行Jumpserver都要先運行以上source命令,以下所有命令均在該虛擬環境中運行 (py3)[root@localhostpy3]
1.4 自動載入 Python 虛擬環境配置
此項僅為懶癌晚期的人員使用,防止運行 Jumpserver 時忘記載入 Python 虛擬環境導致程序無法運行。使用autoenv
$cd/opt $gitclonehttps://github.com/kennethreitz/autoenv.git $echo'source/opt/autoenv/activate.sh'>>~/.bashrc $source~/.bashrc
2.1 下載或 Clone 項目
項目提交較多 git clone 時較大,你可以選擇去 Github 項目頁面直接下載zip包。
$cd/opt/ $gitclonehttps://github.com/jumpserver/jumpserver.git $echo"source/opt/py3/bin/activate">/opt/jumpserver/.env#進入jumpserver目錄時將自動載入python虛擬環境 #首次進入jumpserver文件夾會有提示,按y即可 #Areyousureyouwanttoallowthis?(y/N)y
2.2 安裝依賴包
$cd/opt/jumpserver/requirements $apt-get-yinstall$(catdeb_requirements.txt)#如果沒有任何報錯請繼續
2.3 安裝 Python 庫依賴
$pipinstall--upgradepipsetuptools $pipinstall-rrequirements.txt
2.4 安裝 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
$apt-get-yinstallredis-server
2.5 安裝 MySQL
本教程使用 Mysql 作為數據庫,如果不使用 Mysql 可以跳過相關 Mysql 安裝和配置
$apt-get-yinstallmysql-server#安裝過程中注意輸入數據庫root賬戶的密碼
2.6 創建數據庫 Jumpserver 并授權
$DB_PASSWORD=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c24`#生成隨機數據庫密碼 $echo-e"\033[31m你的數據庫密碼是$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`#生成隨機SECRET_KEY $BOOTSTRAP_TOKEN=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c16`#生成隨機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#確認內容有沒有錯誤
#SECURITYWARNING:keepthesecretkeyusedinproductionsecret! #加密秘鑰生產環境中請修改為隨機字符串,請勿外泄 SECRET_KEY: #SECURITYWARNING:keepthebootstraptokenusedinproductionsecret! #預共享Tokencoco和guacamole用來注冊服務賬號,不在使用原來的注冊接受機制 BOOTSTRAP_TOKEN: #Developmentenvopenthis,whenerroroccurdisplaythefullprocesstrack,Productiondisableit #DEBUG模式開啟DEBUG后遇到錯誤時可以看到更多日志 DEBUG:false #DEBUG,INFO,WARNING,ERROR,CRITICALcanset.Seehttps://docs.djangoproject.com/en/1.10/topics/logging/ #日志級別 LOG_LEVEL:ERROR #LOG_DIR: #Sessionexpirationsetting,Default24hour,Alsosetexpiredononbrowserclose #瀏覽器Session過期時間,默認24小時,也可以設置瀏覽器關閉則過期 #SESSION_COOKIE_AGE:86400 SESSION_EXPIRE_AT_BROWSER_CLOSE:true #Databasesetting,Supportsqlite3,mysql,postgres.... #數據庫設置 #Seehttps://docs.djangoproject.com/en/1.10/ref/settings/#databases #SQLitesetting: #使用單文件sqlite數據庫 #DB_ENGINE:sqlite3 #DB_NAME: #MySQLorpostgressettinglike: #使用Mysql作為數據庫 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 #運行時綁定端口 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來進行認證設置 #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 運行 Jumpserver
$cd/opt/jumpserver $./jmsstartall#后臺運行使用-d參數./jmsstartall-d #新版本更新了運行腳本,使用方式./jmsstart|stop|status|restartall后臺運行請添加-d參數
運行不報錯,請繼續往下操作
3.1 下載或 Clone 項目
新開一個終端
$cd/opt $source/opt/py3/bin/activate $gitclonehttps://github.com/jumpserver/coco.git&&cdcoco&&gitcheckoutmaster $echo"source/opt/py3/bin/activate">/opt/coco/.env#進入coco目錄時將自動載入python虛擬環境 #首次進入coco文件夾會有提示,按y即可 #Areyousureyouwanttoallowthis?(y/N)y
3.2 安裝依賴
$cd/opt/coco/requirements $pipinstall-rrequirements.txt
3.3 查看配置文件并運行
$cd/opt/coco $mkdirkeyslogs $cpconfig_example.ymlconfig.yml $vimconfig.yml
#項目名稱,會用來向Jumpserver注冊,識別而已,不能重復 #NAME:{{Hostname}} #Jumpserver項目的url,api請求注冊會使用 CORE_HOST:http://127.0.0.1:8080 #BootstrapToken,預共享秘鑰,用來注冊coco使用的serviceaccount和terminal #請和jumpserver配置文件中保持一致,注冊完成后可以刪除 BOOTSTRAP_TOKEN:<ChangeIT> #啟動時綁定的ip,默認0.0.0.0 #BIND_HOST:0.0.0.0 #監聽的SSH端口號,默認2222 #SSHD_PORT:2222 #監聽的HTTP/WS端口號,默認5000 #HTTPD_PORT:5000 #項目使用的ACCESSKEY,默認會注冊,并保存到ACCESS_KEY_STORE中, #如果有需求,可以寫到配置文件中,格式access_key_id:access_key_secret #ACCESS_KEY:null #ACCESSKEY保存的地址,默認注冊后會保存到該文件中 #ACCESS_KEY_STORE:keys/.access_key #加密密鑰 #SECRET_KEY:null #設置日志級別[DEBUG,INFO,WARN,ERROR,FATAL,CRITICAL] #LOG_LEVEL:INFO LOG_LEVEL:ERROR #日志存放的目錄 #LOG_DIR:logs #SSH白名單 #ALLOW_SSH_USER:all #SSH黑名單,如果用戶同時在白名單和黑名單,黑名單優先生效 #BLOCK_SSH_USER: #- #和Jumpserver保持心跳時間間隔 #HEARTBEAT_INTERVAL:5 #Admin的名字,出問題會提示給用戶 #ADMINS:'' #SSH連接超時時間(default15seconds) #SSH_TIMEOUT:15 #語言[en,zh] #LANGUAGE_CODE:zh #SFTP的根目錄,可選/tmp,Home其他自定義目錄 #SFTP_ROOT:/tmp #SFTP是否顯示隱藏文件 #SFTP_SHOW_HIDDEN_FILE:false
$./cocodstart#后臺運行使用-d參數./cocodstart-d #新版本更新了運行腳本,使用方式./cocodstart|stop|status|restart后臺運行請添加-d參數
Luna 已改為純前端,需要 Nginx 來運行訪問
訪問(https://github.com/jumpserver/luna/releases)下載對應版本的 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
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 服務
$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#創建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#修改默認端口為8081 $sed-i's/FINE/WARNING/g'/config/tomcat8/conf/logging.properties#修改log等級為WARNING
5.4 配置環境變量
$exportJUMPSERVER_SERVER=http://127.0.0.1:8080#http://127.0.0.1:8080指jumpserver訪問地址 $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 啟動 Guacamole
$/etc/init.d/guacdrestart $sh/config/tomcat8/bin/startup.sh
這里所需要注意的是 guacamole 暴露出來的端口是 8081,若與主機上其他端口沖突請自定義一下。
6.1 安裝 Nginx
$apt-get-yinstallnginx $rm-rf/etc/nginx/site-enabled/default
6.2 準備配置文件 修改 /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/;#靜態資源,如果修改安裝目錄,此處需要修改 } location/socket.io/{ proxy_passhttp://localhost:5000/socket.io/;#如果coco安裝在別的服務器,請填寫它的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安裝在別的服務器,請填寫它的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#如果沒有報錯請繼續$nginx-sreload
6.4 開始使用 Jumpserver
服務全部啟動后,訪問http://192.168.244.144
默認賬號: admin 密碼: admin
到Jumpserver 會話管理-終端管理 檢查 Coco Guacamole 等應用的注冊
測試連接
如果登錄客戶端是macOS或Linux,登錄語法如下 $ssh-p2222admin@192.168.244.144 $sftp-P2222admin@192.168.244.144 密碼:admin 如果登錄客戶端是Windows,XshellTerminal登錄語法如下 $sshadmin@192.168.244.1442222$sftpadmin@192.168.244.1442222密碼:admin 如果能登陸代表部署成功#sftp默認上傳的位置在資產的/tmp目錄下#windows拖拽上傳的位置在資產的GuacamoleRDP上的G目錄下
以上就是關于“Ubuntu怎么安裝Jumpserver”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。