版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載似将!否則將追究法律責任湘换。
前言
所謂貞觀之治,可以表明在中華位文明五千年歷史長河中留下了濃墨重彩的一筆磅甩。而jumpserver這款開源的堡壘機仿佛在上演歷史劇炊林,穿越唐朝與唐太宗一起貞觀......
個人理解
之所以稱為開源即免費。堡壘機的理念是方便管理安全性卷要。而這款jumpserver堡壘機也具備以上特性渣聚。這就好比幾年前l(fā)inux沒有興起的時候大家玩windows2008的域一樣添加用戶管理員,有子賬戶僧叉。但也是有區(qū)別的奕枝,如賬戶管理,資源管理瓶堕,機房管理隘道,授權(quán)。好多應(yīng)用都可以讓我們仔細研究一下郎笆。
安裝步驟
服務(wù)器環(huán)境:阿里云服務(wù)器 ip47.12.230.456系統(tǒng):Centos7.3
首先下載jumpserver安裝包谭梗。
一、安裝依賴包
yum -y install epel-release
yum clean all && yum makecache
yum -y install gitpython-pipMySQL-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
二宛蚓、下載 jumpserver
cd /opt
Gitclonehttps://github.com/jumpserver/jumpserver.git
注: 如果下載失敗激捏,則去github上面下載zip包,unzip解壓縮即可凄吏,我說下載安裝包安裝的缩幸。
1. 進官網(wǎng)下載壹置。
2.點擊之后下一步選擇
3.開始安裝jumpserver之后unzip jumpserver-master.zip
三、執(zhí)行快速安裝腳本
cd /opt/jumpserver/install
./install.py
輸入jumpserver的地址表谊,默認為:”172.17.253.221”钞护,回車即可。 注意: 需要在你數(shù)據(jù)庫創(chuàng)建一個jumpserver名字的庫爆办。
是否安裝mysql:選擇”y”進行安裝
MySQL 啟動后會要求用戶輸入 郵件服務(wù)器及賬戶(后期用來發(fā)送用戶名难咕、ssh pass、web pass距辆、ssh key)
163郵箱用授權(quán)密碼余佃,而不是登入密碼 ,切記 跨算。
輸入smtp信息之后發(fā)現(xiàn)報錯了
第一個問題:
這個問題是utf8的問題 在數(shù)據(jù)庫創(chuàng)建?create database jumpserver charset=utf8;
第二個問題:
python的pycrypto模塊問題爆土,需要卸載重裝:
pip uninstall pycrypto
easy_install pycrypto
安裝之后繼續(xù)?./install.py 進行安裝,并且輸入 web管理員用戶名和管理員密碼诸蚕,ok
運行 crontab步势,定期處理失效連接,定期更新資產(chǎn)信息
cd /opt/jumpserver
python manage.py crontab add
注:
1)根據(jù)提示輸入相關(guān)信息背犯,完成安裝坏瘩,安裝完成后,請訪問web漠魏,繼續(xù)查看后續(xù)文檔
2)如果啟動失敗倔矾,請返回上層目錄,手動運行 ./service.sh start 啟動
3)如果 ./service.sh start 啟動失敗
cd /opt/jumpserver
python manage.py runserver 0.0.0.0:80
python run_websocket.py
4)如果啟動失敗柱锹,可能是由于80端口和3000端口已經(jīng)被占用哪自,或者數(shù)據(jù)庫賬號密碼不對,請檢查
五禁熏、Web登錄
http://192.168.1.1:8000
2.這是登錄之后看到得壤巷。
注意:
在使用jumpserver過程中,有一步是系統(tǒng)用戶推送匹层,要推送成功隙笆,client(后端服務(wù)器)要滿足以下條件:
1)后端服務(wù)器需要有python锌蓄、sudo環(huán)境才能使用推送用戶升筏,批量命令等功能
2)后端服務(wù)器如果開啟了selinux,請安裝libselinux-python
六瘸爽、更新代碼
cd /opt/jumpserver
gitpull
環(huán)境搭建到這一步就結(jié)束啦~
1)添加用戶
點擊用戶管理 —> 查看用戶 —> 添加用戶
輸入要添加的用戶名,姓名剪决,權(quán)限灵汪,Mail檀训,并且發(fā)送郵件 —> 保存
查看添加的用戶
查看用戶郵件
郵件中包含了用戶名,權(quán)限享言,web密碼峻凫,ssh 密鑰密碼,以及密鑰下載地址览露。
2)添加用戶組
點擊用戶管理 —> 查看用戶組 —> 添加用戶組
添加新的小組 —> 運維小組
查看剛才添加的組
1)添加資產(chǎn)組
點擊資產(chǎn)管理 —> 查看資產(chǎn)組 —> 添加主機組
輸入組名稱,并且輸入描述組用途
2)添加資產(chǎn)
點擊資產(chǎn)管理 —> 查看資產(chǎn) —> 添加資產(chǎn)
輸入主機名差牛,主機IP命锄,管理用戶名(管理員用戶,主機中必須存在的哦~ 可以是root)偏化,端口脐恩,資產(chǎn)組 —> 提交保存
3)添加機房
點擊資產(chǎn)管理 —> 查看機房 —> 添加機房
輸入機房名稱,其他的可以選填 —> 保存
1)sudo
點擊權(quán)限管理 —> sudo —> 添加別名
輸入別名驶冒,系統(tǒng)命令,備注 —> 點擊保存
2)添加系統(tǒng)用戶
點擊授權(quán)管理 —> 系統(tǒng)用戶 —> 添加系統(tǒng)用戶
輸入用戶名搭伤,密碼只怎,管理的sudo及備注 —> 單擊保存
創(chuàng)建好系統(tǒng)之后,單擊推送怜俐,將用戶名身堡、密碼、sudo的信息推送到服務(wù)器拍鲤。
選擇系統(tǒng)用戶贴谎,資產(chǎn)組 —> 單擊保存
推送成功
3)授權(quán)規(guī)則
點擊授權(quán)管理 —> 授權(quán)規(guī)則 —> 添加規(guī)則
輸入授權(quán)名稱,用戶/用戶組季稳,資產(chǎn)/資產(chǎn)組擅这,系統(tǒng)用戶,備注 —> 單擊保存
這時候創(chuàng)建已經(jīng)完成仲翎,下一步用戶”hongxue”通過web和密鑰登錄堡壘機 192.168.1.200,并實現(xiàn)跳轉(zhuǎn)到服務(wù)器 192.168.1.210
1)通過web登錄
可以看到用戶ID铛漓,用戶名溯香,權(quán)限,key浓恶,最后登錄玫坛,用戶組,授權(quán)主機數(shù)包晰,以及主機信息湿镀。
單擊查看主機 —> 連接
連接成功炕吸,可以對該主機進行操作。
2)通過ssh登錄
通過郵件中收到的地址勉痴,下載key
點擊工具 —> 用戶密鑰管理者
單擊導(dǎo)入 —> 輸入用戶名赫模,密碼
連接 jumpserver 堡壘機 192.168.1.200,輸入密鑰密碼進行登錄
登錄成功U裘嘴瓤! 從授權(quán)的列表中連接到服務(wù)器 192.168.1.210
!莉钙!為了安全廓脆,建議配置nginx 反向代理 jumpserver
log_format jumpserver '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$request_time" $request_body "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $scheme $http_host';
server {
listen ? ? ? 8080 ssl;
listen ? ? ? 80;
deny all;
server_name jumpserver.xxxx.com;
index index.html index.htm index.PHP;
ssl_certificate ? ? ?ssl/xxxx.com.crt;
ssl_certificate_key ?ssl/xxxx.com.key;
ssl_protocolsTLSv1 TLSv1.1 TLSv1.2;
ssl_ciphersHIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ( $scheme = http ) {
rewrite ^(.*)$ https://$host:8090$request_uri? permanent;
}
location / {
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass ? ? ?http://10.43.12.31:8090;
}
location ^~ /ws/ {
proxy_pass http://10.43.12.31:8090/ws/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
access_log ?/data0/logs/jumpserver.log jumpserver;
error_log ?/data0/logs/jumpserver_error.log debug;
}
總結(jié):相信自己!
本文出自 “李世龍” 博客磁玉,謝絕轉(zhuǎn)載停忿!