53. jumpserver 快速安裝
1. 前言介紹
官方資料連結
2. jumpserver軟體安裝部署
快速安裝部署jumpserver
建議使用乾淨環境快速安裝,安裝過一些軟體後,其中可能會安裝一些不相容的python庫,如pycrypto djargo,會影響安裝速度
快速安裝環境jumpserver
centos 6.x x86_64 mini
iptables stop
selinux disable
①. 安裝依賴rpm
#安裝epel源資訊 yum ‐y install epel‐release yum ‐y install git python‐pip mysql‐devel gcc automake autoconf python‐devel vim sshpass lrzsz readline‐devel
說明:軟體部署安裝前,要先將jumpserver軟體的相關依賴軟體包安裝完畢
軟體依賴包功能說明:
②. 下載jumpserver
cd /opt
git clone https://github.com/jumpserver/jumpserver.git
說明:如果比較慢可以從github匯入倉庫到Gitee然後下載jumpserver軟體(具體方法自行百度)
③. 執行快速安裝指令碼
cd jumpserver/install && pip install ‐r requirements.txt #<‐ 執行安裝python依賴庫 說明:利用pip install命令進行安裝相應軟體 ‐r, ‐‐requirement <file> Install from the given requirements file. This option can be used multiple times. 安裝軟體資訊通過給定的需求檔案。這個引數可以被多次使用 cd jumpserver/install/ <‐ 手動切換到jumpserver的安裝目錄 cat requirements.txt <‐ 檢視一下需要安裝的依賴包 #sphinx‐me==0.3 django==1.6 pycrypto==2.6.1 paramiko==1.16.0 ecdsa==0.13 MySQL‐python==1.2.5 #django‐uuidfield==0.5.0 psutil==3.3.0 xlsxwriter==0.7.7 xlrd==0.9.4 django‐bootstrap‐form==3.2 tornado==4.3 ansible==1.9.4 pyinotify==0.9.6 passlib==1.6.5 argparse==1.4.0 django_crontab==0.6.0 說明:根據提示輸入相關資訊,完成安裝,完成安裝後,請訪問web,繼續檢視後續文件 如果啟動失敗,請返回上層目錄,手動執行./service.sh restart 啟動 預設賬號密碼 admin 5Lov@wife # 檢查軟體是否安裝完畢 pip freeze 說明: 檢視相關python軟體是否安裝成功 freeze Output installed packages in requirements format. 輸出安裝的包按照requirements檔案格式輸出 # 執行python的安裝指令碼 python install.py 請務必先檢視wiki https://github.com/ibuler/jumpserver/wiki/Quickinstall 開始關閉防火牆和selinux setenforce: SELinux is disabled <‐ 安裝指令碼會協助運維人員關閉selinux和防火牆 請輸入您伺服器的IP地址,使用者瀏覽器可以訪問 [10.0.0.70]: <‐ 定於web訪問時所使用的ip地址 是否安裝新的MySQL伺服器? (y/n) [y]: y <‐ 安裝mysql資料庫軟體,並建立資料庫 開始安裝設定mysql (請手動設定mysql安全) 預設使用者名稱: jumpserver 預設密碼: 5Lov@wife、 ...省略部分軟體安裝步驟... 連線資料庫成功 請輸入SMTP地址: smtp.163.com <‐ 定義郵件伺服器地址,用於jumpserver傳送郵件使用 請輸入SMTP埠 [25]: 請輸入賬戶: [email protected] 請輸入密碼: Password 請登陸郵箱查收郵件, 然後確認是否繼續安裝 是否繼續? (y/n) [y]: ...省略部分軟體安裝步驟... 請輸入管理員使用者名稱 [admin]: admin 請輸入管理員密碼: [5Lov@wife]: admin 請再次輸入管理員密碼: [5Lov@wife]: admin Starting jumpsever service:manage.py not running run_websocket.py not running [成功] 安裝成功,請訪問web, 祝你使用愉快。 請訪問 https://github.com/ibuler/jumpserver 檢視文件 說明:此時表示jumpserver軟體已經安裝成功,並能正常進行web訪問了 以上配置操作都會存放在jumpserver.conf配置檔案中,後續需要修改可以直接修改配置檔案即可 # 擴充套件說明:更改pip倉庫源 (安裝的比較快一些) # pip源也可以更新國內源,利用阿里的pip國內源 # 在~/.pip/pip.conf檔案中新增或修改 [global] index‐url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted‐host=mirrors.aliyun.com # 3. 常見錯誤說明: ①. Crypto,getStrongprime,HAVE_DECL_MPZ_POWM_SEC等錯誤 # 很常見的錯誤,通常是由 pycrypto的版本問題,請解除安裝重新安裝 開始寫入配置檔案 Traceback (most recent call last): File "/opt/jumpserver/install/next.py", line 19, in <module> from juser.user_api import db_add_user, get_object, User File "/opt/jumpserver/juser/user_api.py", line 3, in <module> from Crypto.PublicKey import RSA File "/usr/lib64/python2.6/site-packages/Crypto/PublicKey/RSA.py", line 75, in <module> from Crypto.Util.number import getRandomRange, bytes_to_long, long_to_bytes File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in <module> if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC' > pip uninstall pycrypto > rm -rf /usr/lib64/python2.6/site-packages/Crypto/ > rm -rf /usr/lib64/python2.6/site-packages/pycrypto-2.6.1-py2.6-linux-x86_64.egg (大部分不執行這條就能解決) > pip install pycrypto==2.4.1
②. jumpserver軟體啟動異常
[root@jumpserver-01 jumpserver]# ./service.sh restart
Stopping jumpsever service: [確定]
Starting jumpsever service: [確定]
說明:
安裝指令碼出現jumpserver服務啟動異常,可以利用jumpserver啟動指令碼對服務進行重新啟動 可能有時啟動仍舊不成功,會 提示jinja2模板有問題,導致不能成功啟動jumpserver服務,主要是由於系統環境問題導致
遇到jinja2模組問題,建議刪除原有模組,利用pip install Jinja2==2.9.6 命令進行重新下載jinja2模組
#檢查jumpserver啟動是否正常
[root@jumpserver-01 jumpserver]# ps -ef|grep python
root 6831 6827 0 18:01 pts/1 00:00:00 /bin/bash -c ulimit -S -c 0>/dev/null 2>&1
; python ./run_websocket.py
root 6832 6826 0 18:01 pts/1 00:00:00 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1
; python ./manage.py runserver
0.0.0.0:80
#也可採用純手工方式啟動jumpserver程序
[root@jumpserver-01 jumpserver]# yum install screen -y <- 安裝一下screen軟體
[root@jumpserver-01 ~]# screen <- 進入到一個新的screen會話視窗中,執行python的web程式
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python manage.py runserver 0.0.0.0:80
Validating models...
0 errors found
June 26, 2017 - 18:13:43
Django version 1.6, using settings 'jumpserver.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.
[root@jumpserver-01 ~]# screen
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python run_websocket.py
[I 170626 18:25:21 process:136] Starting 5 processes
# pip源也可以更新國內源,利用阿里的pip國內源
# 在~/.pip/pip.conf檔案中新增或修改
[global]
index‐url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted‐host=mirrors.aliyun.com
6Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
Run server on 0.0.0.0:3000
說明:screen命令能在不同會話間斷開或重連。當一個命令正在執行時按“Ctrl + A”然後再按“d”來斷開。
# 檢視screen連線的會話資訊
[root@jumpserver-01 ~]# screen -ls
There is a screen on:
6922.pts-0.jumpserver-01
(Detached)
6959.pts-0.jumpserver-01 (Detached)
2 Sockets in /var/run/screen/S-root.
# 重新連線screen會話資訊
[root@jumpserver-01 ~]# screen -r 6922.pts-0.jumpserver-01
[root@jumpserver-01 ~]# cd /opt/jumpserver/
[root@jumpserver-01 jumpserver]# python manage.py runserver 0.0.0.0:80
Validating models...
# log日誌檢視方法
[root@jumpserver-01 jumpserver]# cd logs/
[root@jumpserver-01 logs]# pwd
/opt/jumpserver/logs
[root@jumpserver-01 logs]# tail -f jumpserver.log
3. jumpserver軟體web介面操作
利用瀏覽器登入到jumpserver登入介面
介面管理配置操作官方資料:
https://github.com/jumpserver/jumpserver/wiki/快速開始
4.練習操作
試著練習一下,在建立一個oldgirl的使用者說明資訊: web介面建立使用者資訊,實質上在程式內部做了兩件事
- 在jumpserver服務程式的資料庫中相應表中,添加了新的使用者資訊
- 在jumpserver的服務系統中,利用useradd命令創建出來相應的普通使用者,並且會生成使用者對應的公鑰和私鑰,利用金鑰登入跳板機普通使用者還有一個重要作用,可以用來登入jumpserver的web管理介面
①. 新增使用者
使用者管理 - 檢視使用者 - 新增使用者 填寫基本資訊,完成使用者新增
使用者新增完成後,根據提示記住使用者賬號密碼,換個瀏覽器登入下載key,
ssh登入jumpserver測試
建立的使用者是給普通員工所使用
為建立好的普通員工傳送郵件通知資訊
提示使用者新增成功,並且可以收到通知郵件資訊
②新增資產
資產管理 - 檢視資產 - 新增資產 填寫基本資訊,完成資產新增
新增資產實質的作用是新增通過跳板機可以管理的主機資訊
選擇單臺新增,設定好主機名或IP地址,可以選擇管理賬號,勾選預設配置
使用預設表示選擇預設的使用者配置---選擇【設定】---編輯【預設設定】,表示定義管理賬戶的預設設定
如果沒有設定,預設是無法進行勾選的
定義管理許可權使用者,必須在被管理資產主機上真實存在的,並且是具有建立使用者 刪除使用者的等許可權的管理使用者,比如root
管理使用者設定完成,點選提交
輸出以下提示資訊,表示主機資產新增成功
操作疑問: 如果被管理資產主機上沒有root使用者如何,或者沒有授權開發root使用者,該如何新增管理使用者??? 帶著疑問繼續學習後面的內容
③新增預設管理使用者設定
有可能公司所有主機的管理使用者和賬號密碼是一致的,就可以設定預設管理使用者
#在資產主機中建立預設管理使用者admin
[root@jumpserver-02 ~]# useradd admin
[root@jumpserver-02 ~]# echo 123456|passwd --stdin admin
更改使用者 admin 的密碼
passwd: 所有的身份驗證令牌已經成功更新。
[root@jumpserver-02 ~]#visudo <- 設定非root管理使用者的sudo許可權 admin ALL=(ALL)
NOPASSWD: ALL
如果採用的是金鑰登入,也可以在下面的介面輸入私鑰資訊,設定完畢點選確認儲存
預設管理使用者設定完成
新增資產主機是以主機名作為主鍵識別唯一性的,可以更改主機名稱,再新增一臺相同的資產主機
此種邏輯設定,主要考慮到通過遠端登入時,公網IP一樣,埠對映不一樣,所以主機名唯一,ip地址可以進行重複使用