- 1. 概述
- ***官方極速安裝***
- 2. 環境搭建
- 2.1 支持中文字符集
- 2.2 安裝Python和Python虛擬環境
- 2.2.1 安裝Python3.6
- 2.2.2 建立Python虛擬環境
- 2.2.3 自動化載入Python虛擬環境
- 3. 安裝jumpserver
- 3.1 clone jumpserver項目
- 3.2 安裝依賴rpm包
- 3.3 安裝python庫依賴
- 3.4 安裝redis,jumpserver使用redis做cache和celery broke
- 4. 安裝mysql(使用mysql作為數據庫)
- 4.1 安裝mysql,加入開啟自啟並啟動
- 4.2 創建數據庫jumpserver並授權
- 5. 運行jumpserver
- 5.1 修改jumpserver配置文件
- 5.2 運行jumpserver
- 6. 安裝SSH Server和WebSocket Server:COCO
- 6.1 安裝COCO
- 6.2 安裝依賴
- 6.3 修改COCO配置文件
- 6.4 啟動coco
- 7. 安裝Web Terminal前端:Luna
- 8. 安裝nginx,整合各組件,代理jumpserver
- 8.1 增加nginx的yum配置文件,安裝nginx
- 8.2 修改nginx配置文件
- 8.3 檢查配置文件並啟動
- 9. 初步使用jumpserver,需要注意的點
- 10. jumpserver平台系統初始化
- 10.1 jumpserver平台系統初始化
- 10.2 配置郵件發送服務器
- 11. 實戰:使用jumpserver 管理數萬台服務器
- 11.1 用戶管理
- 11.2 編輯資產書添加節點
- 11.3 創建管理用戶
- 11.4 創建系統用戶
- 11.5 創建資產
- 11.6 網域列表
- 11.7 創建授權規則
- 11.8 用戶使用資產
- 11.9 在xshell字符終端下連接jumpserver管理服務器
-
11.10 Web終端管理資產
- 12. 總結
-
LDAP 使用說明
-
常見問題
- 1、Jms_guacamole 常見問題
- 2、VNC 資產連接問題(連接MacOS,報錯無法連接)
1. 概述
1.1 跳板機概述
跳板機就是一台服務器,開發或運維人員在維護過程中首先要統一登錄到這台服務器,然后再登錄到目標設備進行維護和操作;
跳板機缺點:沒有實現對運維人員操作行為的控制和審計,使用跳板機的過程中還是會出現誤操作、違規操作導致的事故,一旦出現操作事故很難快速定位到原因和責任人;
1.2 堡壘機概述:
堡壘機,即在一個特定的網絡環境下,為了保障網絡和數據不受來自外部和內部用戶的入侵和破壞,而運用各種技術手段實時收集和監控網絡環境中每一個組成部分的系統狀態、安全事件、網絡活動,以便集中報警、及時處理及審計定責。
堡壘機比跳板機多了實時收集、監控網絡環境、集中報警等功能。
1.3 Jumpserver概述:
Jumpserver是一款使用Python, Django開發的開源跳板機系統, 為互聯網企業提供了認證,授權,審計,自動化運維等功能。
jumpserver堡壘機組件說明:
1、Jumpserver:
現指 Jumpserver 管理后台,是核心組件(Core), 使用 Django Class Based View 風格開發,支持 Restful API。
2、Coco:
實現了 SSH Server 和 Web Terminal Server 的組件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 開發。
3、Luna:
現在是 Web Terminal 前端,計划前端頁面都由該項目提供,Jumpserver 只提供 API,不再負責后台渲染html等。
- 堡壘機,在特定的網絡環境下,為了保障網絡和數據不收外界入侵和破壞,而運用各種技術手段實時收集和監控網絡環境中每一個組成的步伐的系統狀態,安全事件,網絡活動,以便於集中報警,即時處理及審計定責。
- 核心功能主要是遠程登錄服務器和日志審計
- jumpserver是全球首款完全開源的堡壘機,中國人自己開發的軟件,使用的環境是Python/Django
******官方提供極速安裝******
腳本做了一定的容錯, 可以多次執行, 安裝完成后請勿再次執行
說明
- # 開頭的行表示注釋
- > 開頭的行表示需要在 mysql 中執行
- $ 開頭的行表示需要執行的命令
- 全新安裝的 Centos7 (7.x)
- 需要連接 互聯網
- 使用 root 用戶執行
Koko、Guacamole 容器化部署(推薦)
$ cd /opt $ yum -y install wget $ wget -O /opt/jms_install.sh https://demo.jumpserver.org/download/jms_install.sh $ sh jms_install.sh # 后續重啟服務器后啟動異常, 可以使用下面的命令進行啟動 $ systemctl start jms_core # 注意先啟動 jms_core 后再啟動其他組件 $ docker start jms_koko $ docker start jms_guacamole # 停止 $ docker stop jms_koko $ docker stop jms_guacamole $ systemctl stop jms_core # 注意先結束其他組件最后停止 jms_core # 查看啟動狀態 $ systemctl status jms_core $ docker logs -f jms_koko $ docker logs -f jms_guacamole
官方最新極速安裝20200109 說明:官方地址:https://jumpserver.readthedocs.io/zh/master/install/setup_by_fast/ 全新安裝的 Centos7 (7.x) 需要連接 互聯網 使用 root 用戶執行 $ cd /opt $ yum -y install wget git $ git clone --depth=1 https://github.com/jumpserver/setuptools.git $ cd setuptools $ cp config_example.conf config.conf $ vi config.conf $ chmod +x ./jmsctl.sh # Install $ ./jmsctl.sh install # Help $ ./jmsctl.sh -h # 如果網絡有問題無法連接到 github $ wget -O /opt/setuptools.tar.gz http://demo.jumpserver.org/download/setuptools.tar.gz $ cd /opt $ tar -xf setuptools.tar.gz $ cd setuptools $ git pull $ ./jmsctl.sh -h
2. 環境搭建
2.1 支持中文字符集
查看主機支持的字符集 cat /etc/locale.conf 若是LANG="en_US.UTF-8"代表支持的是英文,需要修改,方式如下: [root@jumpserver ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 [root@jumpserver ~]# export LC_ALL=zh_CN.UTF-8 [root@jumpserver ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf [root@jumpserver ~]# cat /etc/locale.conf #查看修改的結果 LANG="zh_CN.UTF-8"
2.2 安裝Python和Python虛擬環境
需要支持的mysql版本大於5.56,需要支持的Python3.6
2.2.1 安裝Python3.6
#安裝依賴包 [root@jumpserver ~]# yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git #安裝Python3.6(下載過慢可更換epel源) [root@jumpserver ~]# yum -y install python36 python36-devel #或者下載源碼包,編譯安裝Python3.6
[root@jumpserver ~]# cd /usr/local/src/
[root@jumpserver src]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@jumpserver src]# tar xf Python-3.6.1.tar.xz && cd Python-3.6.1
[root@jumpserver Python-3.6.1]# ./configure && make && make install
#安裝完成后查看Python3的版本
[root@jumpserver Python-3.6.1]# python3 -V
LANG="zh_CN.UTF-8"
2.2.2 建立Python虛擬環境
#創建一個py3的虛擬環境 [root@jumpserver opt]# cd /opt/ [root@jumpserver opt]# python3.6 -m venv py3 [root@jumpserver opt]# source /opt/py3/bin/activate #使其立即生效,最左邊出現(py3)提示符代表成功 #運行jumpserver,必須運行以上source命令,以下所有命令,也要在該虛擬環境下運行
2.2.3 自動化載入Python虛擬環境
(py3)[root@jumpserver opt]# git clone https://github.com/kennethreitz/autoenv.git (py3)[root@jumpserver opt]# echo 'source /opt/autoenv/activate.sh' >> ~/.bashrc (py3)[root@jumpserver opt]# source ~/.bashrc
3. 安裝jumpserver
3.1 clone jumpserver項目
#若克隆過程太長,可以用--depth 1參數,只下載最新的版本 (py3)[root@jumpserver opt]# git clone --depth 1 https://github.com/jumpserver/jumpserver.git #.env的作用是只要進入/opt/jumpserver/目錄,就自動進入py3的環境中,首次進入目錄需要確認,y即可 (py3)[root@jumpserver opt]# echo "source /opt/py3/bin/activate" > /opt/jumpserver/.env (py3)[root@jumpserver opt]# cd jumpserver/
3.2 安裝依賴rpm包
(py3)[root@jumpserver jumpserver]# cd /opt/jumpserver/requirements/ (py3)[root@jumpserver requirements]# yum -y install $(cat rpm_requirements.txt)
3.3 安裝python庫依賴
#依舊是在requirements目錄下,先升級setup工具 (py3)[root@jumpserver requirements]# pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/ #pip下載加速設置 (py3)[root@jumpserver requirements]# cd /opt/jumpserver/ (py3)[root@jumpserver jumpserver]# cd ~ (py3)[root@jumpserver ~]# mkdir .pip (py3)[root@jumpserver ~]# vim ~/.pip/pip.conf #加入以下內容: [global] index-url=https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com #繼續下載依賴包 (py3)[root@jumpserver ~]# cd /opt/jumpserver/requirements/ (py3)[root@jumpserver requirements]# pip install -r requirements.txt #若下載卡在某個包,可以wget軟件包,然后使用pip+instal+軟件包名,然后將requirement.txt文件中對應的行注釋,繼續安裝其他包,安裝完成后檢查步驟正確性 [root@jumpserver src]# echo $?
3.4 安裝redis,jumpserver使用redis做cache和celery broke
(py3)[root@jumpserver requirements]# yum -y install redis (py3)[root@jumpserver requirements]# systemctl enable redis (py3)[root@jumpserver requirements]# systemctl start redis #加速開機自啟並啟動
4. 安裝mysql(使用mysql作為數據庫)
4.1 安裝mysql,加入開啟自啟並啟動
(py3)[root@jumpserver requirements]# yum -y install mariadb mariadb-devel mariadb-server (py3)[root@jumpserver requirements]# systemctl enable mariadb (py3)[root@jumpserver requirements]# systemctl start mariadb
4.2 創建數據庫jumpserver並授權
(py3)[root@jumpserver requirements]# DB_PASSWORD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24` (py3)[root@jumpserver requirements]# echo $DB_PASSWORD #需要摘記作為數據庫用戶的密碼 (py3)[root@jumpserver requirements]# mysql -uroot -e "create database jumpserver default charset 'utf8'; grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '$DB_PASSWORD'; flush privileges;"
5. 運行jumpserver
5.1 修改jumpserver配置文件
(py3)[root@jumpserver requirements]# cd /opt/jumpserver/ #備份並改名配置文件 (py3)[root@jumpserver jumpserver]# cp config_example.yml config.yml #生成兩個密碼,並摘記 (py3)[root@jumpserver jumpserver]# SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50` (py3)[root@jumpserver jumpserver]# echo $SECRET_KEY (py3)[root@jumpserver jumpserver]# BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16` (py3)[root@jumpserver jumpserver]# echo $BOOTSTRAP_TOKEN #加入家目錄下bash配置文件 (py3)[root@jumpserver jumpserver]# echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc (py3)[root@jumpserver jumpserver]# echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc #修改配置文件 (py3)[root@jumpserver jumpserver]# sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g" /opt/jumpserver/config.yml (py3)[root@jumpserver jumpserver]# sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/jumpserver/config.yml (py3)[root@jumpserver jumpserver]# sed -i "s/# DEBUG: true/DEBUG: false/g" /opt/jumpserver/config.yml (py3)[root@jumpserver jumpserver]# sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" /opt/jumpserver/config.yml (py3)[root@jumpserver jumpserver]# sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" /opt/jumpserver/config.yml (py3)[root@jumpserver jumpserver]# sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" /opt/jumpserver/config.yml
5.2 運行jumpserver
#初始化數據庫,出現多項OK為正確 (py3)[root@jumpserver jumpserver]# cd /opt/jumpserver/utils/ (py3)[root@jumpserver utils]# bash make_migrations.sh #啟動jumpserver並檢查正確性,端口8080是否開啟 (py3)[root@jumpserver utils]# cd /opt/jumpserver/ (py3)[root@jumpserver jumpserver]# ./jms start all -d (py3)[root@jumpserver jumpserver]# netstat -antup | grep 8080
jumpserver堡壘機測試鏈接:http://IP:8080 用戶 : admin 密碼: admin
6. 安裝SSH Server和WebSocket Server:COCO
6.1 安裝COCO
(py3)[root@jumpserver jumpserver]# cd /opt/ (py3)[root@jumpserver opt]# git clone https://github.com/jumpserver/coco.git (py3)[root@jumpserver opt]# echo "source /opt/py3/bin/activate" > /opt/coco/.env (py3)[root@jumpserver opt]# cd coco/ #第一進入提示,y即可
6.2 安裝依賴
(py3)[root@jumpserver opt]# cd /opt/coco/requirements/ (py3)[root@jumpserver requirements]# yum -y install \$(cat rpm_requirements.txt) #安裝python的依賴 (py3)[root@jumpserver requirements]# pip install -r requirements.txt
6.3 修改COCO配置文件
(py3)[root@jumpserver requirements]# cd /opt/coco/ #可以看看目錄下的東西 (py3)[root@jumpserver coco]# mkdir keys logs (py3)[root@jumpserver coco]# cp config_example.yml config.yml (py3)[root@jumpserver coco]# sed -i "s/BOOTSTRAP_TOKEN: <PleasgeChangeSameWithJumpserver>/BOOTSTRAP_TOKEN: \$BOOTSTRAP_TOKEN/g" /opt/coco/config.yml (py3)[root@jumpserver coco]# sed -i "s/# LOG_LEVEL: INFO/LOG_LEVEL: ERROR/g" /opt/coco/config.yml
6.4 啟動coco
(py3)[root@jumpserver coco]# cd /opt/coco (py3)[root@jumpserver coco]# ./cocod start -d #檢查啟動情況,是否開啟5000端口和2222端口 (py3)[root@jumpserver coco]# netstat -lntp
7. 安裝Web Terminal前端:Luna
(py3)[root@jumpserver coco]# cd /opt/ (py3)[root@jumpserver opt]# wget https://github.com/jumpserver/luna/releases/download/1.4.9/luna.tar.gz (py3)[root@jumpserver opt]# tar xf luna.tar.gz (py3)[root@jumpserver opt]# chown -R root:root luna
8. 安裝nginx,整合各組件,代理jumpserver
8.1 增加nginx的yum配置文件,安裝nginx
(py3)[root@jumpserver opt]# yum -y install yum-utils (py3)[root@jumpserver opt]# vim /etc/yum.repos.d/nginx.repo #加入內容: [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ #安裝nginx (py3)[root@jumpserver opt]# yum -y install nginx
8.2 修改nginx配置文件
(py3)[root@jumpserver opt]# cd /etc/nginx/conf.d/ (py3)[root@jumpserver conf.d]# rm -f default.conf (py3)[root@jumpserver conf.d]# vim jumpserver.conf #加入以下內容,需要注意各模塊的目錄是否准確: server { listen 80; client_max_body_size 100m; location /luna/ { try_files $uri / /index.html; alias /opt/luna/; } location /media/ { add_header Content-Encoding gzip; root /opt/jumpserver/data/; } location /static/ { root /opt/jumpserver/data/; } location /socket.io/ { proxy_pass http://localhost:5000/socket.io/; proxy_buffering off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; access_log off; } location /coco/ { proxy_pass http://localhost:5000/coco/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; access_log off; } location /guacamole/ { proxy_pass http://localhost:8081/; proxy_buffering off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; access_log off; } location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
8.3 檢查配置文件並啟動
(py3)[root@jumpserver conf.d]# nginx -t (py3)[root@jumpserver conf.d]# systemctl start nginx (py3)[root@jumpserver conf.d]# systemctl enable nginx
9. 初步使用jumpserver,需要注意的點
- 初始賬號密碼為admin,登錄后可通過個人信息更新密碼
- 管理員admin,可通過ssh鏈接跳板機,通過2222端口
- jumpserver用戶管理(都可以通過私鑰登錄)
- 登錄jumpserver的用戶:
例如adminn,使用ssh協議連接端口2222,可在用戶管理創建用戶,密碼自定義 - 管理用戶:
創建在服務器(資產節點)上的用戶,如root用戶,或者有NOPASSWD:ALL sudo權限的用戶,密碼需要和服務器上的相同,此用戶推送系統用戶的信息到資產上 - 系統用戶:
真正在服務器中執行命令的用戶,jumpserver跳轉資產時使用的用戶,可以設置sudo權限,如果選擇自動推送,當系統用戶信息更新,管理用戶會將新的信息推送到匹配的資產上,也可以選擇手動推送,可以可視化看到ansible推送過程,選擇自動創建密鑰,會在推送的時候給資產上的系統用戶發送一份公鑰,可用於密鑰登錄;推送的信息有,在資產上創建用戶,設置用戶權限,發送公鑰,設置sudo權限等
- 資產管理:
創建資產需要指定IP,管理用戶,注意管理用戶的權限,設置爭取資產信息才能更新 - 資產授權:
將資產(節點),登錄用戶(用戶組),系統用戶鏈接在一起 - 通過ssh,2222端口可以登錄jumpserver,登錄后,輸入p可以顯示可以登錄的資產,輸入對應id可以登錄,輸入g查看有權限的節點
- 會話管理:在線會話可以終止用戶登錄,歷史會話可以查看具體操作,
- 日志審計:記錄了關於jumpserver所有的日志
10.jumpserver平台系統初始化
10.1 jumpserver平台系統初始化
10.2 配置郵件發送服務器
成功后,需要點 “提交”
注:配置完后,需要重啟一下服務。不然后期創建用戶,收不到郵件。
(py3) [root@k5 jumpserver]# /opt/jumpserver/jms stop all -d
(py3) [root@k5 jumpserver]# /opt/jumpserver/jms start all -d
更新設置成功, 請手動重啟程序
如果未開通自己郵箱要開啟smtp和pop3服務須要自己開啟一下
11.實戰:使用jumpserver 管理數萬台服務器
11.1 用戶管理
點擊頁面左側"用戶列表"菜單下的"用戶列表", 進入用戶列表頁面。
點擊頁面左上角"創建用戶"按鈕, 進入創建用戶頁面, 填寫賬戶, 角色安全, 個人等信息。
其中, 用戶名即 JumpServer 登錄賬號。用戶是用於資產授權, 當某個資產對一個用戶授權后, 這個用戶就使用這個資產了。角色用於區分一個用戶是管理員還是普通用戶。
成功提交用戶信息后, JumpServer 會發送一條設置"用戶密碼"的郵件到您填寫的用戶郵箱。
點擊郵件中的設置密碼鏈接, 設置好密碼后, 您就可以用戶名和密碼登錄 JumpServer 了。
11.2 編輯資產書添加節點
節點不能重名,右擊節點可以添加、刪除和重命名節點,以及進行資產相關的操作。
11.3 創建管理用戶
Jumpserver里各個用戶的說明:
管理用戶是服務器的 root,或擁有 NOPASSWD: ALL sudo 權限的用戶,Jumpserver 使用該用戶來推送系統用戶、獲取資產硬件信息等。
前提,你的西南片區-服務器節點中所有的服務器root用戶密碼都是:123這樣就可以使用此root用戶管理服務器。
11.4 創建系統用戶
系統用戶是 Jumpserver 跳轉登錄資產時使用的用戶,可以理解為登錄資產用戶, Jumpserver使用系統用戶登錄資產。
系統用戶的 Sudo 欄填寫允許當前系統用戶免sudo密碼執行的程序路徑,如默認的/sbin/ifconfig,意思是當前系統用戶可以直接執行 ifconfig 命令或 sudo ifconfig 而不需要輸入當前系統用戶的密碼,執行其他的命令任然需要密碼,以此來達到權限控制的目的。
# 此處的權限應該根據使用用戶的需求匯總后定制,原則上給予最小權限即可。
系統用戶創建時,如果選擇了自動推送 Jumpserver 會使用 Ansible 自動推送系統用戶到資產中,如果資產(交換機、Windows )不支持 Ansible, 請手動填寫賬號密碼。
Linux 系統協議項務必選擇 ssh 。如果用戶在系統中已存在,請去掉自動生成密鑰、自動推送勾選。
增加一個:檢查服務器運行狀態的用戶: user 權限: /sbin/ifconfig,/usr/bin/top,/usr/bin/free
再加一個: 系統管理員用戶:manager
11.5 創建資產
點擊頁面左側的“資產管理”菜單下的“資產列表”按鈕,查看當前所有的資產列表。
點擊頁面左上角的“創建資產”按鈕,進入資產創建頁面,填寫資產信息。
IP 地址和管理用戶要確保正確,確保所選的管理用戶的用戶名和密碼能"牢靠"地登錄指定的 IP 主機上。資產的系統平台也務必正確填寫。公網 IP 信息只用於展示,可不填,Jumpserver 連接資產使用的是 IP 信息。
開啟虛擬機hero5, 這台機器當成資源添加平台中。
hero5-西南片區 10.27.17.35
如果資產不能正常連接,請檢查管理用戶的用戶名和密鑰是否正確以及該管理用戶是否能使用 SSH 從 Jumpserver 主機正確登錄到資產主機上。
11.6 網域列表
網域功能是為了解決部分環境無法直接連接而新增的功能,原理是通過網關服務器進行跳轉登錄。
這個功能,一般情況不用到。
11.7 創建授權規則
節點,對應的是資產,代表該節點下的所有資產。
用戶組,對應的是用戶,代表該用戶組下所有的用戶。
系統用戶,及所選的用戶組下的用戶能通過該系統用戶使用所選節點下的資產。
節點,用戶組,系統用戶是一對一的關系,所以當擁有 Linux、Windows 不同類型資產時,應該分別給 Linux 資產和 Windows 資產創建授權規則。
注:這一條授權的含意是: 只要是“西南片區運維部門”組中的人,對節點“西南片區-服務器”中的所有服務器,擁有“系統管理員用戶”的權限。
授權成功后,你自己手動到hero5,6,7上查看:
[root@k6 ~]# tail -n 5 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:994:992::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
manager:x:1000:1000::/home/manager:/bin/bash
#自動推送一個帳號,自動在資產服務器上創建系統用戶
[root@k6 ~]# visudo
11.8 用戶使用資產
登錄 Jumpserver
創建授權規則的時候,選擇了用戶組,所以這里需要登錄所選用戶組下面的用戶才能看見相應的資產。
使用無痕瀏覽器,再打開一個窗口,進行登錄:
打開資產所在的節點:
雙擊資產名字,就連上資產了:
如果顯示連接超時,請檢查為資產分配的系統用戶用戶名和密鑰是否正確,是否正確選擇 Linux 操作系統,協議 ssh,端口22,以及資產的防火牆策略是否正確配置等信息。
11.9 在xshell字符終端下連接jumpserver管理服務器
11.10 Web終端管理資產
Web 終端是資產使用界面, 管理員和用戶都是從這里登錄到資產上, 執行操作。點擊資產名字連接資產, 點擊"Server"下的"Disconnect"斷開資產連接。
LDAP 使用說明
- LDAP 支持 使用 LADP 與 Windows AD 的用戶作為 jumpserver 登錄用戶
- 已經存在的用戶不能與要登錄的 LDAP 用戶有用戶名和郵箱同名, 具有唯一性
- LDAP 設置說明
LDAP地址 ldap://serverurl:389 或者 ldaps://serverurl:636(需要勾選ssl) # 此處是設置LDAP的服務器,推薦使用IP, 防止解析問題 綁定DN cn=administrator,cn=Users,dc=jumpserver,dc=org # 這里是設置認證用戶的信息, jumpserver會使用這個用戶去校驗ldap的信息是否正確 密碼 # 上面認證用戶的密碼 用戶OU ou=jumpserver,dc=jumpserver,dc=org # 這里是設置用來登錄jumpserver的組織單元, 比如我要用某個ou的用戶來登錄jumpserver # 多OU用法 ou=jumpserver,dc=jumpserver,dc=org | ou=user,dc=jumpserver,dc=org | ou=xxx,dc=jumpserver,dc=org 用戶過濾器 (cn=%(user)s) # 這里是設置篩選ldap用戶的哪些屬性, 不能有多余的空格 LADP屬性映射 {"username": "cn", "name": "sn", "email": "mail"} username name email 是jumpserver的用戶屬性(不可更改) cn sn mail 是ldap的用戶屬性(可自定義) # 這里的意思是, 把ldap用戶的屬性映射到jumpserver上 使用SSL # 勾選后 LDAP地址 需要設置成 ldaps://serverurl:636 啟動LDAP認證 # 如果需要使用 LDAP或域用戶 登錄 jumpserver,則必選
- 補充
DN 一定要是完整的DN, 不能跳過OU, 可以使用其他工具查詢 如:cn=admin,ou=aaa,dc=jumpserver,dc=org,必須要寫成cn=admin,ou=aaa,dc=jumpserver,dc=org 不能縮寫成cn=admin,dc=jumpserver,dc=org 用戶OU 用戶OU可以只寫頂層OU, 不寫子OU 如:ou=aaa,ou=bbb,ou=ccc,dc=jumpserver,dc=org,可以只寫ou=ccc,dc=jumpserver,dc=org,根據需求自行修改 用戶過濾器 篩選用戶的規則, 點擊測試連接就是根據這個規則到用戶OU里面去檢索用戶, 可以自定義規則 如:(uid=%(user)s) 或 (sAMAccountName=%(user)s) 等, 這里的屬性需要與下面的屬性映射設置一致 LADP屬性映射 username name email 這三項不可修改刪除, 屬性映射的字段必須存在, 且登錄用戶名和郵件不可以重復 如:{"username": "uid", "name": "sn", "email": "mail"} 或 {"username": "sAMAccountName", "name": "cn", "email": "mail"} "username": "uid" 這里的 uid 必須和上面的 (uid=%(user)s) 這里的 uid 一致 如果上面是(sAMAccountName=%(user)s) 那么下面也應該修改為{"username": "sAMAccountName", username 是 jumpserver 的用戶用戶名, name 是 jumpserver 的用戶名稱, mail 是 jumpserver 用戶的郵箱 屬性映射的意思是把ldap的什么屬性來作為jumpserver的用戶用戶名, 把ldap的什么屬性作為jumpserver的用戶名稱, 把ldap的什么屬性作為jumpserver的用戶郵箱

1、Jms_guacamole 常見問題
(連接Windows客戶端,啟動異常、啟動失敗或者 Web 連接資產提示無權限訪問、黑屏、白屏等)
- Jms_guacamole 是指 https://github.com/jumpserver/docker-guacamole 項目
- Jms_guacamole 默認的路徑為 /opt/docker-guacamole
- Jms_guacamole 啟動異常、啟動失敗或者 Web 連接資產提示無權限訪問、黑屏、白屏等# 檢查 BOOTSTRAP_TOKEN 與 jumpserver 的 BOOTSTRAP_TOKEN 是否一致$ cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN# 首先到 web - 會話管理 - 終端管理 里面刪除 guacamole 的注冊 [gua]xxxxxxx ( 在線顯示紅色的那個 )
# 如果是極速安裝部署的 guacamole $ docker stop jms_guacamole $ docker rm jms_guacamole $ Server_IP=`ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1` $ docker run --name jms_guacamole -d -p 127.0.0.1:8081:8080 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN -e GUACAMOLE_LOG_LEVEL=ERROR --restart=always jumpserver/jms_guacamole:1.5.7 # cat /opt/jumpserver/config.yml | grep BOOTSTRAP_TOKEN #個性化配置 BOOTSTRAP_TOKEN: CTKNiMDAh1MXurgq # docker run --name jms_guacamole -d -p 127.0.0.1:8081:8080 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=CTKNiMDAh1MXurgq -e GUACAMOLE_LOG_LEVEL=ERROR --restart=always wojiushixiaobai/jms_guacamole:1.5.7 # 如果是正常部署的 guacamole $ vi ~/.bashrc ... BOOTSTRAP_TOKEN=xxxxx # 自行修改這里的 BOOTSTRAP_TOKEN 與 JumpServer 的一致 ... $ rm -rf /config/guacamole/keys/* $ /etc/init.d/guacd start $ sh /config/tomcat9/bin/startup.sh
更多內容,可以參數官方手冊:https://jumpserver.readthedocs.io/zh/master
2、VNC 資產連接問題(連接MacOS,報錯無法連接)
MacOS資產信息,修改VNC 端口為5900 。