開源堡壘機jumpserver

23.五、jumpserver介紹

• 官網www.jumpserver.orghtml

• Jumpserver是一款使用Python, Django開發的開源跳板機系統, 助力互聯網企業高效 用戶、資產、權限、審計 管理python

• Auth 統一認證mysql

• CMDB 資產管理linux

• 統一受權git

• 日誌審計github

• 自動化運維(ansible)web

• 最新版v0.4.0,基於python3.6, django 1.11,目前還未開發完成,因此咱們接下來將要安裝v0.3.2sql

 

 

Jumpserver安裝(0.4.0)

• yum install -y docker //首先安裝dockerdocker

• systemctl enable dockershell

• systemctl start docker //啓動docker服務

• curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose  //安裝docker-compose

• chmod 755 /usr/local/bin/docker-compose

• git clone https://github.com/jumpserver/jumpserver.git //下載jumpserver源碼

• cd jumpserver

• 配置docker加速器 http://ask.apelearn.com/question/15126

• 檢查是否有監聽8080端口的服務,若是有關閉

• screen//進入到一個虛擬終端,沒有就使用:yum install -y screen安裝。

• docker-compose up //使用docker-compose安裝jumpserver

 

 

Jumpserver安裝(0.3.2)

• 官方文檔https://github.com/jumpserver/jumpserver/wiki/v0.3.2-%E5%9F%BA%E4%BA%8E-RedHat-%E7%9A%84%E7%B3%BB%E7%BB%9F

• yum install -y git

• cd /home         //要到一個空間大的目錄下面

• git clone https://github.com/jumpserver/jumpserver.git       #在git上面克隆jumpserver

• git checkout master

• cd jumpserver/install/

• python install.py

• 若你的機器已經安裝過mysql,能夠先建立jumpserver庫以及對應的用戶名密碼,若沒有安裝就讓它自動安裝便可

• 安裝過程當中還須要設置一下使用的第三方郵件,建議你去申請一個免費的163郵箱

• 個人163郵箱smtp.163.com aming_test@163.com 8lFjprwrfEv1c   #地址帳戶、密碼

 

 

實例:

Jumpserver安裝(0.3.2)準備工做

使用命令:netstat -lntp查看服務啓動的端口,

若是有有gitlab-runsvdir.service服務,就停掉他,或者使用gitlab-runsvdir.service stop命令。

 

停掉mongod服務

而後使用命令:!net,查看端口

 

開始安裝0.3.2

[root@localhosts ~]# yum install -y git
[root@localhosts ~]# cd /home  
[root@localhosts home]# git clone https://github.com/jumpserver/jumpserver.git
[root@localhosts home]#git checkout master                  #添加master 
[root@localhosts home]#git branch                     #查看分支 
[root@localhosts home]# cd jumpserver/install/
[root@localhosts jumpserver]# python install.py  
[root@localhosts jumpserver]#  cd install/
[root@localhosts install ]#  python install.py                #安裝包版本1.6
。。。。。。。。。。。[192.168.133.130]:回車
是否安裝新的MySQL服務器?[y/n] [y]:            #若是沒有就安裝,有就NO;

 

 

接下來在另外一個終端中,操做

[root@localhosts ~]# mysql -uroot -p aminglinux
mysql > create database jumpserver;           #建立一個jumpserver庫
mysql > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jump123jump';           #建立一個jumpserver用戶,並對jumpserver庫進行受權,密碼jump123jump

回到原來的終端

 

請輸入數據庫服務器端口 【3306】 : 3306
請輸入數據庫服務器密碼 [jumpserver]:jump123jump        #輸入剛剛建立的密碼  
 
請輸入SMTP地址:smtp.163.com            #本身設置一個郵箱
請輸入帳戶:8lFjprwrfEv
請輸入密碼:aming_test@163.com

查看jumpserver的端口

[root@localhosts jumpserver]# vim jumpserver.conf       #查看jumpserver配置文件,以及端口  

 

23.七、Jumpserver使用(登錄)

瀏覽器輸入ip:8000 訪問jumpserver

• 默認用戶名是admin,密碼是5Lov@wife

• 點擊用戶管理,選擇用戶,點擊Administrator那一行右側的更新,設置密碼

• 建立用戶組 運維

• 建立用戶 aming

• 點擊設置,默認管理用戶,該用戶爲管理員用戶,應該有sudo權限,須要在每一臺客戶機上建立該用戶(用戶名自定義,jump)

• 在一臺linux機器上生成一個密鑰對,用來做爲該管理用戶的密鑰對

• 把私鑰粘貼到默認密鑰下面

• 在客戶機上建立jump用戶,並設置sudo權限,把剛剛生成的密鑰對裏面的公鑰放到該客戶機的jump用戶家目錄.ssh/authorized_keys文件裏

• 資產管理,查看資產組,添加資產組(如,dev)

• 資產管理,查看資產,添加資產,填寫各項信息

• 受權管理,系統用戶,添加系統用戶,該用戶爲咱們登陸全部客戶機的用戶

• 受權規則,添加規則,建立受權規則

實例:

在瀏覽器上面輸入IP地址和端口:192.168.133.130:8000

在用戶管理中,更改登陸密碼

 

 

建立Jumpserver裏面管理的用戶

• jumpserver用戶用來登陸jumpserver(web界面、ssh登陸)

• 管理用戶用來自動建立客戶機上的系統用戶、批量執行命令等操做

• 客戶機上的系統用戶,用來經過jumpserver去登陸每一臺客戶機的用戶

實例:

設置管理的用戶爲jump,    密碼能夠爲空,端口22(指定是對方的端口)    ,須要的祕鑰是私鑰。

祕鑰在終端上面生成一個,

[root@localhosts ~]# cd .ssh/
[root@localhosts .ssh]# ls 
authorized_keys    id_rsa id_rsa.pub    know_hosts
[root@localhosts .ssh]# ssh-keygen -f jump                    #-f指定祕鑰對的名字
。。。。。。。。。。。。。                         #一路回車

[root@localhosts .ssh]# ls jump
[root@localhosts .ssh]# cat jump                       #查看生成獲得私密鑰對,而後直接複製獲得瀏覽器中的

 

查看公鑰,命令:cat jump.pub

 

祕鑰複製到瀏覽器中,而後保存

在第三臺機器,也就是服務端,建立用戶。

[root@localhosts ~]# useradd jump
[root@localhosts ~]# su - jump  
[root@localhosts ~]# mkdir .ssh
[root@localhosts ~]# vim .ssh/authoirzed_keys 

查看公鑰,命令:cat jump.pub,在安裝jump的終端上,查看。而後直接複製到,上面的編輯器中。

[root@localhosts ~]# chmod 700 .ssh                     #目錄700
[root@localhosts ~]# chmod 400 .ssh/authoirzed_keys                              #文件400

檢查一下,selinux是否關閉

[root@localhosts ~]# getenforce
Disabled

 

 

在安裝jump的終端上,使用私鑰登陸對方的機器

[root@localhosts .ssh]# cat jump.pub        #查看公鑰
[root@localhosts .ssh]# ssh -i jump jump@192.168.133.132      #要是下面,要輸入密碼,說明祕鑰驗證不成功。

 

Jumpserver使用

• 普通用戶的密碼以及密鑰下載地址、密鑰密碼都會經過郵件的方式發送給用戶

• 瀏覽器登陸普通用戶,能夠查看有權限的主機,也能夠在web界面下登陸主機、上傳和下載文件

• xshell建立新的鏈接

• ip爲jumpserver的ip,端口爲22

• 用戶名爲普通用戶名字(aming)

• 設置密鑰認證

• 鏈接後,出現登陸頁面,數據p查看全部被受權主機

• 輸入主機前面的數字能夠登陸到對應的主機下面

 

 

常見問題:

一、Installing indexes ...

Installed 0 object(s) from 0 fixture(s)

 

請輸入管理員用戶名 [admin]: 

請輸入管理員密碼: [5Lov@wife]: 

請再次輸入管理員密碼: [5Lov@wife]: 

Starting jumpserver service:                               [FAILED]

 

安裝成功,Web登陸請訪問http://ip:8000, 祝你使用愉快。

請訪問 https://github.com/jumpserver/jumpserver/wiki 查看文檔

[root@master-ansible-220 install]# cd ..

[root@master-ansible-220 jumpserver-0.3.3]# ./service.sh restart

Stopping jumpserver service:                               [FAILED]

Starting jumpserver service:                               [FAILED]

 

啓動jumpserver失敗

答:查看一下你的系統中是否是已經有監聽80或者 8000端口。 當服務沒啓動,沒查看到監聽8000端口,那就查一下它的日誌吧

 

二、系統版本centos 6.5 64位

git 1.7版本

執行下載jumpserver.git出錯。請問是什麼問題?

[root@master-ansible-220 home]# git clone https://github.com/jumpserver/jumpserver.git

Initialized empty Git repository in /home/jumpserver/.git/

error:  while accessing https://github.com/jumpserver/jumpserver.git/info/refs

 

fatal: HTTP request failed

答:代碼裏沒有install目錄

 

三、對比docker安裝的視頻我看了一下,下載的是yum install -y docker-ce,怎麼咱們安裝堡壘機用的是yum install -y docker 。這兩個之間有區別嗎

答案:版本不同。

四、[root@localhost ~]# yum install -y docker 

已加載插件:fastestmirror

Loading mirror speeds from cached hostfile

 * base: mirrors.cn99.com

 * extras: mirrors.cn99.com

 * updates: mirrors.cn99.com

軟件包 2:docker-1.13.1-53.git774336d.el7.centos.x86_64 已安裝而且是最新版本

無須任何處理

[root@localhost ~]# systemctl enable docker

[root@localhost ~]# systemctl start docker

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

我參照PPT裏面安裝了一下0.4.0的版本,啓動的時候怎麼老是報錯?

沒install 目錄

blob.png

答案:以前的版本卸載掉。

http://www.cnblogs.com/kevingrace/p/5570279.html

 

本身百度參考網上文檔裝好了

 

五、File "install.py", line 307, in <module>

    pre_setup.start()

  File "install.py", line 299, in start

    self._input_mysql()

  File "install.py", line 267, in _input_mysql

    if self._test_db_conn():

  File "install.py", line 192, in _test_db_conn

    import MySQLdb

ImportError: No module named MySQLdb

安裝的時候報這種錯誤。用的centos6.6  python2.7,不知道是否是版本問題。

答案:

試試這個命令 

yum install MySQL-python

 

六、[root@jishan-2 jumpserver]# ls

apps  config_example.py  data  docs  LICENSE  logs  README.md  requirements  run_server.py  tmp  utils

在克隆以後怎麼沒有install安裝目錄,老師這個我怎麼處理。

答案:

版本不對,你這個4.0版本,安裝方法能夠參考我ppt裏面的方法(docker)

你要想下載3的版本,能夠到這裏來下載  https://github.com/jumpserver/jumpserver/tree/0.3.3  下載zip格式的。

按文檔安3.0 的 沒有install  下載zip格式解壓了也同樣

 

七、果是我用xshell生成的密鑰對,導入到服務器或者指定用戶?

不會只能經過-i了吧,建立個管理用戶,可是密鑰是我本身建立的,不是經過ssh-keygen生成的。

答:只要你把私鑰貼到jumpserver裏面便可。

 

 

注意:

受權管理---系統用戶表明是客戶機上面的登陸用戶 (須要在客戶機上面建立)

用戶管理裏面的是登陸jumpserver  web頁面的用戶

設置裏面的默認管理用戶是指在客戶機上面執行批量命令的用戶(須要在客戶機上面建立)

三個用戶分別是:  jumpserver用戶、管理用戶、系統用戶

其中jumpserver用戶和系統用戶能夠名字相同,但確定不是一個東西。

 

受權管理的系統用戶,就是這個系統用戶。 它是在每一臺客戶機上建立的用戶。咱們登陸的時候,就是登陸這個用戶。

相關文章
相關標籤/搜索