首先,jumpserver是什么呢?
Jumpserver 是一款由Python編寫開源的跳板機(jī)(堡壘機(jī))系統(tǒng),實(shí)現(xiàn)了跳板機(jī)應(yīng)有的功能?;趕sh協(xié)議來管理,客戶端無需安裝agent。
特點(diǎn):
完全開源,GPL授權(quán) Python編寫,容易再次開發(fā) 實(shí)現(xiàn)了跳板機(jī)基本功能,認(rèn)證、授權(quán)、審計(jì) 集成了Ansible,批量命令等 支持WebTerminal Bootstrap編寫,界面美觀 自動(dòng)收集硬件信息 錄像回放 命令搜索 實(shí)時(shí)監(jiān)控 批量上傳下載
jumpserver 3.0 安裝
相對(duì)于 jumpserver 2.0 版本,在新的版本 3.0 中取消了LDAP授權(quán),取而代之的是ssh進(jìn)行推送;界面也有所變化,功能更完善,安裝更簡(jiǎn)單,不像 2.0 的版本,難住了好多人。下面通過兩臺(tái)主機(jī)來搭建 jumpserver堡壘機(jī)!
Centos 6.5 x86_64 關(guān)閉 iptables,關(guān)閉 selinux jumpserver:192.168.1.200 clients:192.168.1.210 ps:操作只針對(duì) jumpserver,clients 不會(huì)進(jìn)行操作,只是環(huán)境需求。
一、安裝依賴包
yum -y install epel-release yum clean all && yum makecache yum -y update yum -y install git python-pip MySQL-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
二、下載 jumpserver
cd /opt Git clone https://github.com/jumpserver/jumpserver.git 注: 如果下載失敗,則去github上面下載zip包,unzip解壓縮即可
三、執(zhí)行快速安裝腳本
cd /opt/jumpserver/install
pip install -r requirement.txt
查看安裝的包 pip freeze
python install.py 輸入jumpserver的地址,默認(rèn)為:”192.168.1.200”,回車即可。 是否安裝MySQL:選擇”y”進(jìn)行安裝
MySQL 啟動(dòng)后會(huì)要求用戶輸入 郵件服務(wù)器及賬戶(后期用來發(fā)送用戶名、ssh pass、web pass、ssh key)
163郵箱用授權(quán)密碼,而不是登入密碼 ,切記 。
輸入smtp信息之后發(fā)現(xiàn)報(bào)錯(cuò)了,是python的pycrypto模塊問題,需要卸載重裝: pip uninstall pycrypto easy_install pycrypto
安裝之后繼續(xù) python install.py 進(jìn)行安裝,并且輸入 web管理員用戶名和管理員密碼,ok
運(yùn)行 crontab,定期處理失效連接,定期更新資產(chǎn)信息 cd /opt/jumpserver python manage.py crontab add
注: 1)根據(jù)提示輸入相關(guān)信息,完成安裝,安裝完成后,請(qǐng)?jiān)L問web,繼續(xù)查看后續(xù)文檔 2)如果啟動(dòng)失敗,請(qǐng)返回上層目錄,手動(dòng)運(yùn)行 ./service.sh start 啟動(dòng) 3)如果 ./service.sh start 啟動(dòng)失敗 cd /opt/jumpserver python manage.py runserver 0.0.0.0:80 python run_websocket.py 4)如果啟動(dòng)失敗,可能是由于80端口和3000端口已經(jīng)被占用,或者數(shù)據(jù)庫(kù)賬號(hào)密碼不對(duì),請(qǐng)檢查
五、Web登錄
http://192.168.1.200
注意: 在使用jumpserver過程中,有一步是系統(tǒng)用戶推送,要推送成功,client(后端服務(wù)器)要滿足以下條件: 1)后端服務(wù)器需要有python、sudo環(huán)境才能使用推送用戶,批量命令等功能 2)后端服務(wù)器如果開啟了selinux,請(qǐng)安裝libselinux-python
六、更新代碼
cd /opt/jumpserver git pull
環(huán)境搭建到這一步就結(jié)束啦~
下面開始要仔細(xì)看咯
一、用戶管理
1)添加用戶
點(diǎn)擊用戶管理 —> 查看用戶 —> 添加用戶
輸入要添加的用戶名,姓名,權(quán)限,Mail,并且發(fā)送郵件 —> 保存
查看添加的用戶
查看用戶郵件 郵件中包含了用戶名,權(quán)限,web密碼,ssh 密鑰密碼,以及密鑰下載地址。
2)添加用戶組
點(diǎn)擊用戶管理 —> 查看用戶組 —> 添加用戶組
添加新的小組 —> 運(yùn)維小組
查看剛才添加的組
二、資產(chǎn)管理
1)添加資產(chǎn)組
點(diǎn)擊資產(chǎn)管理 —> 查看資產(chǎn)組 —> 添加主機(jī)組
輸入組名稱,并且輸入描述組用途
2)添加資產(chǎn)
點(diǎn)擊資產(chǎn)管理 —> 查看資產(chǎn) —> 添加資產(chǎn)
輸入主機(jī)名,主機(jī)IP,管理用戶名(管理員用戶,主機(jī)中必須存在的哦~ 可以是root),端口,資產(chǎn)組 —> 提交保存
3)添加機(jī)房
點(diǎn)擊資產(chǎn)管理 —> 查看機(jī)房 —> 添加機(jī)房
輸入機(jī)房名稱,其他的可以選填 —> 保存
三、權(quán)限管理
1)sudo
點(diǎn)擊權(quán)限管理 —> sudo —> 添加別名
輸入別名,系統(tǒng)命令,備注 —> 點(diǎn)擊保存
2)添加系統(tǒng)用戶
點(diǎn)擊授權(quán)管理 —> 系統(tǒng)用戶 —> 添加系統(tǒng)用戶
輸入用戶名,密碼,管理的sudo及備注 —> 單擊保存
創(chuàng)建好系統(tǒng)之后,單擊推送,將用戶名、密碼、sudo的信息推送到服務(wù)器。
選擇系統(tǒng)用戶,資產(chǎn)組 —> 單擊保存
推送成功
3)授權(quán)規(guī)則
點(diǎn)擊授權(quán)管理 —> 授權(quán)規(guī)則 —> 添加規(guī)則
輸入授權(quán)名稱,用戶/用戶組,資產(chǎn)/資產(chǎn)組,系統(tǒng)用戶,備注 —> 單擊保存
四、登錄
這時(shí)候創(chuàng)建已經(jīng)完成,下一步用戶”hongxue”通過web和密鑰登錄堡壘機(jī) 192.168.1.200,并實(shí)現(xiàn)跳轉(zhuǎn)到服務(wù)器 192.168.1.210
1)通過web登錄 可以看到用戶ID,用戶名,權(quán)限,key,最后登錄,用戶組,授權(quán)主機(jī)數(shù),以及主機(jī)信息。
單擊查看主機(jī) —> 連接
連接成功,可以對(duì)該主機(jī)進(jìn)行操作。
2)通過ssh登錄
通過郵件中收到的地址,下載key
點(diǎn)擊工具 —> 用戶密鑰管理者
單擊導(dǎo)入 —> 輸入用戶名,密碼
連接 jumpserver 堡壘機(jī) 192.168.1.200,輸入密鑰密碼進(jìn)行登錄
登錄成功??! 從授權(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_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!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;
}
Linux云計(jì)算及運(yùn)維架構(gòu)師高薪實(shí)戰(zhàn)班“2018年12月10日即將開課中,120天沖擊Linux運(yùn)維年薪30萬,改變速約~~~~
*聲明:推送內(nèi)容及圖片來源于網(wǎng)絡(luò),部分內(nèi)容會(huì)有所改動(dòng),版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
- 結(jié)束 -
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85323 -
客戶端
+關(guān)注
關(guān)注
1文章
290瀏覽量
16683
原文標(biāo)題:手把手教你用jumpserver搭建堡壘機(jī)!
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論