溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jumpserver的安裝和使用教程

發(fā)布時(shí)間:2020-05-29 12:56:17 來(lái)源:億速云 閱讀:3819 作者:Leah 欄目:系統(tǒng)運(yùn)維

這篇文章為大家?guī)?lái)有關(guān)jumpserver的安裝和使用教程。文中詳細(xì)介紹了jumpserver的簡(jiǎn)介、jumpserver的安裝部署以及jumpserver的簡(jiǎn)單使用,感興趣的小伙伴可以參考下。

一.jumpserver

  • Jumpserver是一款由Python編寫開源的跳板機(jī)(堡壘機(jī)系統(tǒng)),實(shí)現(xiàn)了跳板機(jī)的應(yīng)有的功能,基于ssh協(xié)議來(lái)管理服務(wù)器資源,客戶端不需要安裝jumpserver客戶端軟件程序。
    * 堡壘機(jī)介紹

    在特定網(wǎng)絡(luò)環(huán)境中(如內(nèi)網(wǎng)和外網(wǎng)),為了保證公司網(wǎng)絡(luò)中的服務(wù)器數(shù)據(jù)不受外界的和破壞,運(yùn)用各種技術(shù)手段收集和監(jiān)控公司服務(wù)器的狀態(tài),安全時(shí)間、以便集中報(bào)警,并且及時(shí)處理。
    我們又把堡壘機(jī)叫做跳板機(jī),簡(jiǎn)易的跳板機(jī)功能簡(jiǎn)單,主要核心功能是遠(yuǎn)程登陸服務(wù)器和日志審計(jì)比較優(yōu)秀的開源軟件jumpserver,功能齊全如: 認(rèn)證、授權(quán)、審計(jì)、自動(dòng)化、資產(chǎn)管理(內(nèi)網(wǎng)服務(wù)器資源分配)等。

    * Jumpserver的特點(diǎn)

1.完全開源;
2.Python編寫,易于二次開發(fā)
3.實(shí)現(xiàn)跳板機(jī)的基本功能、認(rèn)證、授權(quán)、審計(jì)
4.集成了Ansiable,實(shí)現(xiàn)批量操作命令等
5.支持web終端
6.Bootstrap編寫,界面美觀
7.自動(dòng)收集硬件信息
8.錄像回放、命令搜索、實(shí)時(shí)監(jiān)控

* Jump架構(gòu)圖

jumpserver的安裝和使用教程
用戶通過(guò)瀏覽器訪問(wèn)到nginx代理服務(wù)器頁(yè)面,nginx服務(wù)器在jump架構(gòu)中是作為一臺(tái)代理服務(wù)器,用來(lái)代理jumpserver程序、coco程序、luna程序、guacamole程序的web頁(yè)面,方便用戶使用,如果不采用nginx做代理服務(wù)器的話,用戶訪問(wèn)頁(yè)面時(shí)比較麻煩(如coco程序需要用到8080端口、guncamole需要?jiǎng)e的端口,使用起來(lái)不方便,而且后續(xù)的頁(yè)面跳轉(zhuǎn)有可能會(huì)導(dǎo)致not found),nginx調(diào)取luna程序設(shè)置終端采用ssh協(xié)議連接后端資產(chǎn)(后端服務(wù)器)。

Jumpserver組件說(shuō)明

Jumpserver:jumpserver的管理后臺(tái)
Coco:實(shí)現(xiàn)了ssh server 和 web終端的組件,提供ssh和websocket接口
Luna:是web Terminal 的前端(用來(lái)展示給用戶和與用戶進(jìn)行交互)前端頁(yè)面都是由該項(xiàng)目完成的
Guacamole:apache的跳板機(jī)項(xiàng)目,jumpserver使用其組件實(shí)現(xiàn)RDP(遠(yuǎn)程桌面)功,能,jumpserver在guacamole中添加額外插件,不修改其本身,實(shí)現(xiàn)調(diào)用

二.安裝jumpserver

下載軟件包

安裝硬件介紹centos 7  4G以上內(nèi)存  至少雙核處理器
安裝依賴環(huán)境:python3.6以上版本  后端數(shù)據(jù)庫(kù)  redis

  • 修改字符集,支持中文字符
[root@localhost ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 // -c 強(qiáng)制執(zhí)行  -f 指定設(shè)置的字符集   -i  從那個(gè)源 [root@localhost ~]# export LC_ALL=zh_CN.UTF-8 // 將字符集設(shè)置成環(huán)境變量 [root@localhost ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf // 加入到字符配置文件
安裝python環(huán)境
[root@bogon ~]#  yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git [root@bogon ~]# tar xf Python-3.6.1.tar.xz -C /usr/src/ [root@bogon ~]# cd /usr/src/Python-3.6.1/ [root@bogon Python-3.6.1]# ./configure   && make &&  make  install
創(chuàng)建python運(yùn)行虛擬環(huán)境
[root@bogon ~]# cd /opt/ [root@bogon opt]# python3 -m venv py3 // venv python中的虛擬環(huán)境   py3虛擬環(huán)境名稱 [root@bogon opt]# source /opt/py3/bin/activate (py3) [root@bogon opt]# 
自動(dòng)載入python虛擬環(huán)境設(shè)置
(py3) [root@bogon opt]# cd /opt/ (py3) [root@bogon opt]# git clone https://github.com/kennethreitz/autoenv.git //將github網(wǎng)站的項(xiàng)目克隆到本地  項(xiàng)目路徑https://github.com/kennethreitz/autoenv 正克隆到 'autoenv'... remote: Enumerating objects: 16, done. remote: Counting objects: 100% (16/16), done. remote: Compressing objects: 100% (13/13), done. remote: Total 688 (delta 5), reused 9 (delta 3), pack-reused 672 接收對(duì)象中: 100% (688/688), 111.91 KiB | 108.00 KiB/s, done. 處理 delta 中: 100% (362/362), done. (py3) [root@bogon opt]# echo 'source /opt/autoenv/activate.sh' >>  /root/.bashrc (py3) [root@bogon opt]# source ~/.bashrc (py3) [root@bogon opt]# 
安裝jumpserver
(py3) [root@bogon requirements]# unzip jumpserver.zip  (py3) [root@bogon requirements]# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env (py3) [root@bogon requirements]# cd jumpserver/      //安裝依賴包rpm //輸入y (py3) [root@bogon requirements]# yum -y install $(cat rpm_requirements.txt) (py3) [root@bogon requirements]# pip install --upgrade pip Collecting pip   Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)     100% |████████████████████████████████| 1.4MB 883kB/s  Installing collected packages: pip   Found existing installation: pip 9.0.1     Uninstalling pip-9.0.1:       Successfully uninstalled pip-9.0.1 Successfully installed pip-20.0.2 (py3) [root@bogon requirements]# pip install wheel Collecting wheel   Downloading wheel-0.34.2-py2.py3-none-any.whl (26 kB) Installing collected packages: wheel Successfully installed wheel-0.34.2 (py3) [root@bogon requirements]# pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ //pip  install <安裝包名> -r 將文件里面的內(nèi)容當(dāng)作安裝包 -i 指定連接下載安裝包  Pip是python中安裝軟件包的命令,相當(dāng)于yum命令 (安裝需要等待幾分鐘)
安裝mariadb與redis
(py3) [root@bogon requirements]# yum -y install mariadb mariadb-devel mariadb-server  (py3) [root@bogon requirements]# systemctl start mariadb (py3) [root@bogon requirements]# mysqladmin -u root password 1234.com (py3) [root@bogon requirements]#  mysql -u root -p1234.com //登陸數(shù)據(jù)庫(kù)創(chuàng)建jumpserver庫(kù)用來(lái)存放jumpserver數(shù)據(jù) MariaDB [(none)]> create database jumpserver default charset 'utf8' ; //創(chuàng)建一個(gè)名為jumpserver的數(shù)據(jù)庫(kù) MariaDB [(none)]> grant all on jumpserver.* to jumpserver@127.0.0.1 identified by '1234.com'; //jumpserver對(duì)數(shù)據(jù)庫(kù)擁有所有權(quán)限,密碼為123.com MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit (py3) [root@bogon requirements]# ss -lnt | grep 3306 LISTEN     0      50           *:3306                     *:*          
(py3) [root@bogon requirements]# yum -y install redis (py3) [root@bogon requirements]# systemctl start redis (py3) [root@bogon requirements]# netstat -anpt | grep redis tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      75890/redis-server  
配置jumpserver文件
(py3) [root@bogon requirements]# cd /opt/jumpserver/ (py3) [root@bogon jumpserver]# cp config_example.yml config.yml  //生成SECRET_KEY寫入配置文件 (py3) [root@bogon jumpserver]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50 //把這個(gè)命令生成得碼復(fù)制到配置文件 (py3) [root@bogon jumpserver]# cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 //把這個(gè)命令生成得碼復(fù)制到配置文件

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

安裝coco組件并配置
(py3) [root@bogon requirements]#  unzip coco.zip  (py3) [root@bogon requirements]# cd coco (py3) [root@bogon requirements]#  echo "source /opt/py3/bin/activate" > /opt/coco/.env (py3) [root@bogon requirements]# cd requirements/ (py3) [root@bogon requirements]# yum -y install $(cat rpm_requirements.txt) (py3) [root@bogon requirements]# pip install -r requirements.txt (py3) [root@bogon requirements]# cd .. (py3) [root@bogon coco]#  cp config_example.yml config.yml  (py3) [root@bogon coco]# vim /opt/jumpserver/config.yml  //把這個(gè)文件中得16位碼復(fù)制上 (py3) [root@bogon coco]# vim config.yml 

jumpserver的安裝和使用教程

(py3) [root@bogon coco]# ./cocod  start -d Use eventlet dispatch Start coco process (py3) [root@bogon coco]# netstat -anpt | grep 2222 tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      33439/python3   
安裝guacamole及l(fā)una
(py3) [root@jumpserver ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 (py3) [root@jumpserver ~]# yum-config-manager  --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo (py3) [root@jumpserver ~]#  yum makecache fast (py3) [root@jumpserver ~]# yum -y install docker-ce (py3) [root@jumpserver ~]# systemctl start docker (py3) [root@jumpserver ~]# docker load < guacamole.tar  (py3) [root@jumpserver ~]# docker run --name jms_guacamole -d \  -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key \  -e JUMPSERVER_KEY_DIR=/config/guacamole/key \  -e JUMPSERVER_SERVER=http://192.168.1.10:8080 \  jumpserver/guacamole:latest (py3) [root@jumpserver ~]# ss -lnt | grep 8081 LISTEN     0      128         :::8081                    :::*                   (py3) [root@jumpserver ~]# tar zxf luna.tar.gz -C /opt
安裝nginx
(py3) [root@jumpserver ~]# tar zxf nginx-1.2.4.tar.gz -C /usr/src (py3) [root@jumpserver ~]# cd /usr/src/nginx-1.2.4/ (py3) [root@jumpserver nginx-1.2.4]# ./configure && make && make install (py3) [root@jumpserver nginx-1.2.4]# ln -sf /usr/local/nginx/sbin/nginx /usr/local/bin/ (py3) [root@jumpserver nginx-1.2.4]# cd /usr/local/nginx/conf/ (py3) [root@jumpserver conf]# cp nginx.conf nginx.conf.bak (py3) [root@jumpserver conf]# mv /root/nginx.conf . mv:是否覆蓋"./nginx.conf"? y         //博文開頭得軟件包中得nginx.conf復(fù)制到這個(gè)nginx主配置文件中就可以了 (py3) [root@jumpserver conf]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful (py3) [root@jumpserver conf]# nginx (py3) [root@jumpserver conf]# ss -lnt | grep -w 80 LISTEN     0      128          *:80                       *:              ``
客戶端測(cè)試

jumpserver的安裝和使用教程

創(chuàng)建普通用戶

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

創(chuàng)建管理用戶

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

創(chuàng)建系統(tǒng)用戶

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

創(chuàng)建后端資產(chǎn)

實(shí)驗(yàn)環(huán)境,所以就開啟一臺(tái)虛擬機(jī)192.168.1.131作為測(cè)試(web頁(yè)面的客戶端與后端資產(chǎn)肯定不在同一網(wǎng)段,因?yàn)橛脩羰峭ㄟ^(guò)公網(wǎng)登錄到j(luò)umpserver才可以對(duì)后端服務(wù)器進(jìn)行操作的)!

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

創(chuàng)建授權(quán)規(guī)則

jumpserver的安裝和使用教程

jumpserver的安裝和使用教程

連接后端資產(chǎn)

jumpserver的安裝和使用教程


關(guān)于jumpserver的安裝和使用教程就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI