Jumpserver 介紹


安裝jumperserver

Sudo yum install –y git

Su root

Cd  /usr/local

Mkdir jumpserver

 

安裝等依賴包

yum -y install epel-release (需要下載安裝)
yum clean all && yum makecache 
yum -y update 
yum -y install –y  git

yum -y install –y  mysql-devel

yum -y install –y  gcc

yum -y install –y  automake

yum -y install –y  autoconf

yum -y install –y  python-devel

yum -y install –y  vim

yum -y install –y  sshpass (需要下載安裝)

yum -y install –y  lrzsz

yum -y install –y  readline-devel

yum install –y setuptool

yum -y install –y  python-pip (需要下載安裝)

yum install MySQL-python

[

Linux Fedora, CentOS系統:yum install MySQL-python

Linux Ubuntu操作系統:apt-get install python-mysqldb

]

cd /usr/local/ jumpserver

git clone https://github.com/ibuler/jumpserver.git

 

三、執行快速安裝腳本 
cd /usr/local/jumpserver/install

pip install -r requirement.txt

pip freeze

python install.py 

輸入jumpserver的地址,默認為:”192.168.1.200”,回車即可。 
是否安裝MySQL:選擇”y”進行安裝

 

MySQL 啟動后會要求用戶輸入 郵件服務器及賬戶(后期用來發送用戶名、ssh pass、web pass、ssh key)

 

輸入smtp信息之后發現報錯了,是python的pycrypto模塊問題,需要卸載重裝: 
pip uninstall pycrypto 
easy_install pycrypto

 

 

 

 

安裝之后繼續 python install.py 進行安裝,並且輸入 web管理員用戶名和管理員密碼,ok

 

 

運行 crontab,定期處理失效連接,定期更新資產信息 
cd /opt/jumpserver 
python manage.py crontab add

 

注: 
1)根據提示輸入相關信息,完成安裝,安裝完成后,請訪問web,繼續查看后續文檔 
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端口已經被占用,或者數據庫賬號密碼不對,請檢查

五、Web登錄 
http://192.168.1.200

 

注意: sm
在使用jumpserver過程中,有一步是系統用戶推送,要推送成功,client(后端服務器)要滿足以下條件: 
1)后端服務器需要有python、sudo環境才能使用推送用戶,批量命令等功能 
2)后端服務器如果開啟了selinux,請安裝libselinux-python

六、更新代碼 
cd /opt/jumpserver 
git pull

 

 

安裝sshpass

1、下載:目前1.0.5是最新版本,下載地址:

wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz

2、編譯安裝

#tar xf sshpass-1.05.tar.gz

#cd sshpass-1.05

#./configure

#make && make install

查看安裝成功與否:

#which sshpass

/usr/local/bin/sshpass   --安裝成功。

安裝pip

wget http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz



tar zxf pip-1.0.2.tar.gz


cd pip-1.0.2

python setup.py build
python setup.py install

 


shell
中輸入:

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install

 

----------------------------------------------------------------------------

 
作者:地球的外星人君
鏈接:https://www.zhihu.com/question/31175397/answer/171260795
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

首先,jumpserver是什么呢?

Jumpserver 是一款由Python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基於ssh協議來管理,客戶端無需安裝agent。

特點:

完全開源,GPL授權 Python編寫,容易再次開發 實現了跳板機基本功能,認證、授權、審計 集成了Ansible,批量命令等 支持WebTerminal Bootstrap編寫,界面美觀 自動收集硬件信息 錄像回放 命令搜索 實時監控 批量上傳下載

jumpserver 3.0 安裝

相對於 jumpserver 2.0 版本,在新的版本 3.0 中取消了LDAP授權,取而代之的是ssh進行推送;界面也有所變化,功能更完善,安裝更簡單,不像 2.0 的版本,難住了好多人。下面通過兩台主機來搭建 jumpserver堡壘機!

環境: Centos 6.5 x86_64 關閉 iptables,關閉 selinux jumpserver:192.168.1.200 clients:192.168.1.210 ps:操作只針對 jumpserver,clients 不會進行操作,只是環境需求。

一、安裝依賴包 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 注: 如果下載失敗,則去github上面下載zip包,unzip解壓縮即可


三、執行快速安裝腳本 cd /opt/jumpserver/install

pip install -r requirement.txt

查看安裝的包 pip freeze

python install.py 輸入jumpserver的地址,默認為:”192.168.1.200”,回車即可。 是否安裝MySQL:選擇”y”進行安裝

MySQL 啟動后會要求用戶輸入 郵件服務器及賬戶(后期用來發送用戶名、ssh pass、web pass、ssh key)

163郵箱用授權密碼,而不是登入密碼 ,切記 。

輸入smtp信息之后發現報錯了,是python的pycrypto模塊問題,需要卸載重裝: pip uninstall pycrypto easy_install pycrypto



安裝之后繼續 python install.py 進行安裝,並且輸入 web管理員用戶名和管理員密碼,ok



運行 crontab,定期處理失效連接,定期更新資產信息 cd /opt/jumpserver python manage.py crontab add

注: 1)根據提示輸入相關信息,完成安裝,安裝完成后,請訪問web,繼續查看后續文檔 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端口已經被占用,或者數據庫賬號密碼不對,請檢查

五、Web登錄 http://192.168.1.200

注意: 在使用jumpserver過程中,有一步是系統用戶推送,要推送成功,client(后端服務器)要滿足以下條件: 1)后端服務器需要有python、sudo環境才能使用推送用戶,批量命令等功能 2)后端服務器如果開啟了selinux,請安裝libselinux-python

六、更新代碼 cd /opt/jumpserver git pull

環境搭建到這一步就結束啦~


下面開始要仔細看咯


一、用戶管理

1)添加用戶

點擊用戶管理 —> 查看用戶 —> 添加用戶

輸入要添加的用戶名,姓名,權限,Mail,並且發送郵件 —> 保存

查看添加的用戶

查看用戶郵件 郵件中包含了用戶名,權限,web密碼,ssh 密鑰密碼,以及密鑰下載地址。

2)添加用戶組

點擊用戶管理 —> 查看用戶組 —> 添加用戶組

添加新的小組 —> 運維小組

查看剛才添加的組

二、資產管理

1)添加資產組

點擊資產管理 —> 查看資產組 —> 添加主機組

輸入組名稱,並且輸入描述組用途

2)添加資產

點擊資產管理 —> 查看資產 —> 添加資產


輸入主機名,主機IP,管理用戶名(管理員用戶,主機中必須存在的哦~ 可以是root),端口,資產組 —> 提交保存

3)添加機房

點擊資產管理 —> 查看機房 —> 添加機房

輸入機房名稱,其他的可以選填 —> 保存

三、權限管理

1)sudo

點擊權限管理 —> sudo —> 添加別名

輸入別名,系統命令,備注 —> 點擊保存

2)添加系統用戶

點擊授權管理 —> 系統用戶 —> 添加系統用戶

輸入用戶名,密碼,管理的sudo及備注 —> 單擊保存

創建好系統之后,單擊推送,將用戶名、密碼、sudo的信息推送到服務器。

選擇系統用戶,資產組 —> 單擊保存

推送成功

3)授權規則

點擊授權管理 —> 授權規則 —> 添加規則

輸入授權名稱,用戶/用戶組,資產/資產組,系統用戶,備注 —> 單擊保存

四、登錄

這時候創建已經完成,下一步用戶”hongxue”通過web和密鑰登錄堡壘機 192.168.1.200,並實現跳轉到服務器 192.168.1.210

1)通過web登錄 可以看到用戶ID,用戶名,權限,key,最后登錄,用戶組,授權主機數,以及主機信息。

單擊查看主機 —> 連接

連接成功,可以對該主機進行操作。

2)通過ssh登錄

通過郵件中收到的地址,下載key

點擊工具 —> 用戶密鑰管理者

單擊導入 —> 輸入用戶名,密碼

連接 jumpserver 堡壘機 192.168.1.200,輸入密鑰密碼進行登錄

登錄成功!! 從授權的列表中連接到服務器 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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM