90.jumpserver介紹 安裝 登陸 建立管理用戶

23.5 jumpserver介紹python

23.6 安裝jumpservermysql

23.7 登陸jumpserverlinux

23.8 建立管理用戶git

 

擴展:github

jumpserver安裝問題 web

http://ask.apelearn.com/question/17502sql

 

 

 

 

 

23.5 jumpserver介紹docker

 

 

 

1.官網www.jumpserver.orgshell

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

#jumpserver很是適合運維人員,不論是二次開發。

#國人開發,開源

3.Auth 統一認證

4.CMDB 資產管理

5.統一受權

6.日誌審計

7.自動化運維(ansible)

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

#若是直接在centos6或7上直接安裝最新版,會有一些問題。下一節會講怎麼安裝

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

23.6 安裝jumpserver

 

 

 

Jumpserver安裝(0.4.0)

#由於使用了(docker還未學習)並0.4版本還未徹底開發,因此主要學習0.32版本

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

systemctl enable docker

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//進入到一個虛擬終端

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

 

 

 

Jumpserver安裝(0.3.2)

#不須要安裝(藉助於)docker

1.官方文檔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

2.yum install -y git

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

#jumpserver會佔用必定的空間

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

#地址爲github官方的jumpserver的地址

5.git checkout master

6.cd jumpserver/install

7.python install.py

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

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

個人163郵箱smtp.163.com aming_test@163.com 8lFjprwrfEv1c

 

 

實例:(0.32版本)

首先要把不須要的服務停掉

[root@axinlinux-01 ~]# systemctl stop mongdod

[root@axinlinux-01 ~]# systemctl disable mongod

gitlab也須要關閉

[root@axinlinux-01 ~]# yum install git #若是下載的時候比較慢,能夠將不相關的repo文件停掉

[root@axinlinux-01 ~]# cd /etc/yum.repos.d/ #怎麼停掉呢?cd到/etc/yum.repos.d目錄下

[root@axinlinux-01 yum.repos.d]# ls #將不相關的repo文件停掉。就是改個名字

CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo mongo.repo

CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo gitlab_gitlab-ce.repo zabbix.repo

[root@axinlinux-01 yum.repos.d]# mv gitlab_gitlab-ce.repo gitlab_gitlab-ce.repo.bak #這樣將不相關的停掉

[root@axinlinux-01 yum.repos.d]# mv mongo.repo mongo.repo.bak

[root@axinlinux-01 yum.repos.d]# mv zabbix.repo zabbix.repo.bak

如下操做是解決一系列問題以後的步驟:

1.cd /opt #建議不要到root或home下,容易出問題

2.https://github.com/jumpserver/jumpserver/tree/0.3.3 到這個地址下,下載zip。由於克隆的話出問題克隆不下來

3.unzip jumpserver-0.3.3.zip #而後解壓這個zip

4.cd jumpserver-0.3.3 #cd 進去

5.cd install/ #再cd到install目錄下

6.python install.py #執行install.py

注意:

1. 安裝過程當中要求輸入數據庫密碼時,直接回車就行 2. 完成安裝後,請訪問web,繼續查看後續文檔 3. 若是啓動失敗,請返回上層目錄,手動運行./service.sh restart啓動 4. 默認帳號密碼 admin 5Lov@wife

請輸入您服務器的IP地址,用戶瀏覽器能夠訪問 [192.168.208.136]: #回車

是否安裝新的MySQL服務器? (y/n) [y]: n #由於以前就安裝了mysql,因此就不在安裝了

請輸入數據庫服務器IP [127.0.0.1]: #回車

請輸入數據庫服務器端口 [3306]: #回車

請輸入數據庫服務器用戶 [jumpserver]: #此時能夠在開一個終端,來建立以及受權(點擊xshell標籤右鍵>複製ssh渠道。

問題點:可是,阿鑫在作的時候,到下面管理員那一步驟的時候報錯了,報錯信息以下:

django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE6\\x9C\\xBA\\xE6\\x88\\xBF' for column 'name' at row 1")

問題根源:網上查找同類問題,應該是mysql數據編碼的問題,django鏈接的數據庫編碼字符集要求utf8,否則報錯

解決方法的鏈接:https://cloud.tencent.com/developer/article/1139768

解決方法:

打開mysql數據庫的配置文件

[[email protected] ~]# vim /etc/my.cnf [mysqld] #在mysqld模塊下增長如下兩個參數 character_set_server=utf8 init_connect='SET NAMES utf8'

[root@localhost ~]# /etc/init.d/mysqld restart

注意:新版MySQL(如:5.5)或MariaDB等,mysqld啓動時可能會遇到「[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’」的錯誤;就應該在[mysqld]中用 character_set_server=utf8 替換掉 default_character_set=utf8

2.刪除原來建立的jumpsrvice問題數據庫

create database jumpserver;

3.再打開mysql數據庫建立django鏈接的數據庫

[root@localhost ~]# mysql -uxxxx -pxxxxxx mysql> show variables like'character%'; //運行這語句查看一下character_set_database參數是否utf8 mysql> set character_set_database=utf8; //若是不是utf8,運行此語句設置一下 +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ mysql> create database jumpservice; //以後就能夠正常建立jumpservice數據庫了

mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '123';

4.[[email protected] install]# python install.py //從新執行命令便可安裝成功

另一種狀況,也許是用戶名或者庫受權有問題,建議刪除jumpserver庫,從新創建一個新的並受權。

> create database jumpserver; > grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'asd9577';

請輸入數據庫服務器密碼: jump123jump

請輸入使用的數據庫 [jumpserver]:

鏈接數據庫成功

請輸入SMTP地址: smtp.163.com

請輸入SMTP端口 [25]:

請輸入帳戶: wangxinlinux@163.com

請輸入密碼: wangxin789

(535, 'Error: authentication failed')

是否跳過(y/n) [n]? : y

 

請登錄郵箱查收郵件, 而後確認是否繼續安裝

 

是否繼續? (y/n) [y]: y

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

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

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

Starting jumpserver service: [ 肯定 ]

 

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

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

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

23.7 登陸jumpserver

 

Jumpserver使用

1.瀏覽器輸入ip:8000 訪問jumpserver

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

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

建立用戶組 運維

建立用戶 aming

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

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

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

 

 

實例:

 

 

 

以上:

資產管理::也就是cmdb了。以前說到jumpserver有cmdb的功能。就在這來體現

資產組:好比開發的資產組、測試的資產組、線上的資產組等等

產看資產:資產組裏對應的機器,不只僅有服務器,還有交換機、路由器等等,均可以列到這裏面來

查看機房:利用機房去劃分

以上:

受權管理:系統用戶:系統用戶就是咱們要設置一個跳板機,跳板機要登陸到遠程服務器上去,咱們把它叫作客戶機。那客戶機要登陸,你首先要有一個用戶。這個用戶就是系統用戶

jumpserver裏面有三種用戶:第一種就是登陸jumpserver的用戶

第二種就是登陸客戶機的用戶。也就是上面說的系統用戶

第三種在設置裏,裏有一個默認管理用戶。咱們要想實現自動化,想批量的到客戶機上去執行一些命令,那就要有一個用戶去執行。好比我要給客戶機建立一個系統用戶,也要有一個有權限的管理員用戶去作呀。這個用戶就叫作管理用戶。這個用戶平時不用,管理機器的時候纔會用。你想一想jumpserver要想跟你的機器去通訊,作一些事情,那確定要有一個有權限的用戶才行,也是在客戶機上建立的,可是要在jumpserver裏面去配置一下,好比密鑰

受權管理:受權規則:就是那些用戶有權限連,哪一組機器或者哪一些機器。去給他劃分好嚴格的權限。好比運維組的能夠去連全部的機器。那數據中心的只有數據中心的幾臺機器,其餘的不給權限

以上

日誌審計:就是好比我看看你的額登陸歷史,都有誰登陸過。還有執行過的批量命令,上傳下載的東西。命令裏有一個命令回放的功能

以上

上傳下載:上傳和下載文件

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

23.8 建立管理用戶

 

 

 

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

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

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

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

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

 

管理用戶須要到每一臺客戶機上去建立,並且也要在jumpserver服務端(界面)設置好這個用戶,叫什麼,以及對應的密鑰(界面上指的是私鑰)

若是咱們要密鑰登陸一臺機器的話,本機要有一個私鑰,對方要有一個公鑰。

[root@axinlinux-04 ~]# cd .ssh/ #在本機去生成一個密鑰對

[root@axinlinux-04 .ssh]# ls

authorized_keys id_rsa id_rsa.pub known_hosts

[root@axinlinux-04 .ssh]# ssh-keygen -f jump #-f指定密鑰對的名字

Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase): #回車

Enter same passphrase again: #回車

Your identification has been saved in jump.

Your public key has been saved in jump.pub.

The key fingerprint is:

SHA256:zwzE4unsryGYSGNjjSfc206E0rdU1lCkrlPxQfm7trM root@axinlinux-04

The key's randomart image is:

+---[RSA 2048]----+

| .o+. |

| .=. |

| .=oo. |

|. = ..++o .. |

| @ * +ooS. . |

|+.*o*o+ = . |

|. o..*+ + . |

| oo.. + |

| .oo. .E+ |

+----[SHA256]-----+

[root@axinlinux-04 .ssh]# ls

authorized_keys id_rsa id_rsa.pub jump jump.pub known_hosts #會有兩個文件 jump jump.pub

[root@axinlinux-04 .ssh]# cat jump #須要的是jump(私鑰),把它粘貼要界面下位置

管理用戶是指客戶端上的如root等高權限帳號(或擁有NOPASSWD: ALL sudo權限),用來推送新建系統用戶。至關於說這個管理用戶能夠作各類各樣的操做

接下來,咱們到對應的客戶機上去建立這個用戶(jump管理用戶)

[root@dazuoye02-01 ~]# useradd jump #在這臺客戶機上,建立jump用戶,這個用戶做爲管理帳戶。之後每增長一臺機器都要增長這個用戶

[root@dazuoye02-01 ~]# su - jump #接下來切換到jump用戶

[jump@dazuoye02-01 ~]$ mkdir .ssh #建立authorized_keys

[jump@dazuoye02-01 ~]$ vim .ssh/authorized_keys #服務端linux上生成的公鑰(jump.pub)粘貼到這個文件裏來

[root@axinlinux-04 .ssh]# cat jump.pub #將服務端linux上剛纔生成的這個公鑰粘貼到上面那個文件裏

[jump@dazuoye02-01 ~]$ chmod 700 .ssh/ #修改目錄的權限爲700

[jump@dazuoye02-01 ~]$ chmod 400 .ssh/authorized_keys #修改文件的權限400

檢查selinux和iptables

[root@axinlinux-04 .ssh]# ssh -i jump jump@192.168.208.135 #使用ssh -i來指定使用jump祕鑰來登陸客戶機

The authenticity of host '192.168.208.135 (192.168.208.135)' can't be established.

ECDSA key fingerprint is SHA256:ipSyrFLdSRyMxARq/E/2S09fJSD9dz+R/eSm/baC434.

ECDSA key fingerprint is MD5:60:35:cf:94:59:97:4e:05:ec:3b:ee:25:e3:d6:e2:ea.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.208.135' (ECDSA) to the list of known hosts.

Last login: Sat Dec 1 00:00:16 2018

[jump@dazuoye02-01 ~]$

 

 

 

相關文章
相關標籤/搜索