項目實戰15.2—企業級堡壘機 jumpserver快速入門

来源:https://www.cnblogs.com/along21/archive/2018/04/28/8965968.html
-Advertisement-
Play Games

本文收錄在Linux運維企業架構實戰系列 必備條件 硬體條件 硬體條件 ① 一臺安裝好 Jumpserver 系統的可用主機(堡壘機) ② 一臺或多台可用的 Linux、Windows資產設備(被管理的資產) 服務條件 (1)coco服務 ① 鑒於心態檢測存在延遲,也可以直接在 Jumpserver ...


本文收錄在Linux運維企業架構實戰系列

必備條件

  • 硬體條件
① 一臺安裝好 Jumpserver 系統的可用主機(堡壘機) ② 一臺或多台可用的 Linux、Windows資產設備(被管理的資產)
  • 服務條件

(1)coco服務

① 鑒於心態檢測存在延遲,也可以直接在 Jumpserver 主機上執行如下命令檢測 Coco 是否存活,Coco 服務預設使用 2222 埠:

[root@centos7-1 ~]# ss -nutlp |grep 2222

效果如下:

② 如 coco 不線上或者服務不正常,可以嘗試重啟 coco

$ cd /opt/coco

$ ./cocod restart   # 請確保 jumpserver 已經正常運行。

(2)guacamole 服務

如果 guacamole 不線上或者服務不正常,可以嘗試重啟docker 容器

① $ docker ps   # 查詢正在運行的容器,記錄下容器的 <CONTAINER ID> ,可以附加 -a 參數查詢所有容器

② $ docker restart 6b15fcf0e5f3   # 6b15fcf0e5f3 是通過docker ps查詢到的,請不要直接複製。

# docker 用法: docker start|stop|restart|rm|rmi <CONTAINER ID>

 

一、系統設置

1.1 基本設置

可以設置用戶嚮導url,如果不設置,jumpserver產生的鏈接都預設為www.localhost.com

1.2 配置郵件發送伺服器

點擊頁面上邊的"郵件設置" ,進入郵件設置頁面:

註:

① 配置 QQ 郵箱的 SMTP 服務可參考(http://blog.csdn.net/Aaron133/article/details/78363844),僅使用只需要看完第二部分即可。

② SMTP 密碼是你打開qq郵箱SMTP 時騰訊給你發送的密碼。

③ 配置郵件服務後,點擊頁面的"測試連接"按鈕,如果配置正確,Jumpserver 會發送一條測試郵件到您的 SMTP 賬號郵箱裡面:

二、創建用戶

2.1 創建 Jumpserver 用戶

① 點擊頁面左側"用戶列表"菜單下的"用戶列表",進入用戶列表頁面。

② 點擊頁面左上角"創建用戶"按鈕,進入創建用戶頁面,填寫賬戶,角色安全,個人等信息。

其中,用戶名即 Jumpserver 登錄賬號。用戶組是用於資產授權,當某個資產對一個用戶組授權後,這個用戶組下麵的所有用戶就都可以使用這個資產了。角色用於區分一個用戶是管理員還是普通用戶。

③ 成功提交用戶信息後,Jumpserver 會發送一條設置"用戶密碼"的郵件到您填寫的用戶郵箱。

④ 點擊郵件中的設置密碼鏈接,設置好密碼後,您就可以用戶名和密碼登錄 Jumpserver 了。

2.2 登錄 Jumpserver 用戶

(1)web 頁面登錄

① 用戶首次登錄 Jumpserver,會被要求完善用戶信息。

② 生成ssh 公鑰

Linux/Unix 生成 SSH 密鑰可以參考(https://www.cnblogs.com/horanly/p/6604104.html)

Windows 生成 SSH 密鑰可以參考(https://www.cnblogs.com/horanly/p/6604104.html)

查看公鑰信息

[root@centos7-1 ~]# cat .ssh/id_rsa.pub$ cat ~/.ssh/id_rsa.pub

③ 複製 SSH 公鑰,添加到 Jumpserver 中。

 

(2)除了使用瀏覽器登錄 Jumpserver 外,還可使用命令行登錄:

① 確保 Coco 服務正常

 ② 命令行登錄 Jumpserver 使用如下命令:

$ ssh -p 2222 用戶名@Jumpserver IP地址

登錄成功後界面如下:

 

三、創建資產

3.1 創建 Linux 資產

(1)編輯資產樹

節點不能重名,右擊節點可以添加、刪除和重命名節點,以及進行資產相關的操作。

(2)創建管理用戶

  管理用戶是伺服器的 root,或擁有 NOPASSWD: ALL sudo 許可權的用戶,Jumpserver 使用該用戶來推送系統用戶、獲取資產硬體信息等。

  註意:資產管理裡面的所以信息,都是和資產有關,包括創建的所有用戶;jumpserver的root用戶密碼,只給jumpserver管理員登錄安裝了jumpserver的伺服器使用。除此之外不用在任何地方;不用搞混了(我就搞混了)

  如果使用ssh私鑰,需要先在資產上設置,這裡舉個例子供參考(本例登錄資產使用root為例)

① 在資產上生成 root 賬戶的公鑰和私鑰

[root@centos7-1 ~]# ssh-keygen -t rsa   # 預設會輸入公鑰和私鑰文件到 ~/.ssh 目錄

② 將公鑰輸出到文件 authorized_keys 文件,並修改許可權

[root@centos7-1 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[root@centos7-1 ~]# chmod 400 ~/.ssh/authorized_keys

③ 打開RSA驗證相關設置

[root@centos7-1 ~]# vim /etc/ssh/sshd_config

  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile     .ssh/authorized_keys

④ 重啟 ssh 服務

[root@centos7-1 ~]# systemctl restart sshd

⑤ 上傳 ~/.ssh 目錄下的 id_rsa 私鑰到 jumpserver 的管理用戶中

 

(3)這樣就可以使用 ssh私鑰 進行管理伺服器。

名稱可以按資產樹來命名。用戶名root。密碼和 SSH 私鑰必填一個。

 

(4)創建系統用戶

① 系統用戶是 Jumpserver 跳轉登錄資產時使用的用戶,可以理解為登錄資產用戶,如 web, sa, dba(ssh web@some-host), 而不是使用某個用戶的用戶名跳轉登錄伺服器(ssh xiaoming@some-host); 簡單來說是 用戶使用自己的用戶名登錄Jumpserver, Jumpserver使用系統用戶登錄資產。

② 系統用戶的 Sudo 欄填寫允許當前系統用戶免sudo密碼執行的程式路徑,如預設的/sbin/ifconfig,意思是當前系統用戶可以直接執行 ifconfig 命令或 sudo ifconfig 而不需要輸入當前系統用戶的密碼,執行其他的命令任然需要密碼,以此來達到許可權控制的目的。

③ 這裡簡單舉幾個例子:

Sudo /bin/su  # 當前系統用戶可以免sudo密碼執行sudo su命令(也就是可以直接切換到root,生產環境不建議這樣操作)
Sudo /usr/bin/git,/usr/bin/php,/bin/cat,/bin/more,/bin/less,/usr/bin/head,/usr/bin/tail  # 當前系統用戶可以免sudo密碼執行git php cat more less head tail
# 此處的許可權應該根據使用用戶的需求彙總後定製,原則上給予最小許可權即可。

④ 系統用戶創建時,如果選擇了自動推送 Jumpserver 會使用 Ansible 自動推送系統用戶到資產中,如果資產(交換機、Windows )不支持 Ansible, 請手動填寫賬號密碼。

Linux 系統協議項務必選擇 ssh 。如果用戶在系統中已存在,請去掉自動生成密鑰、自動推送勾選。

 

(5)創建資產

① 點擊頁面左側的"資產管理"菜單下的"資產列表"按鈕,查看當前所有的資產列表。

點擊頁面左上角的"創建資產"按鈕,進入資產創建頁面,填寫資產信息。

IP 地址和管理用戶要確保正確,確保所選的管理用戶的用戶名和密碼能"牢靠"地登錄指定的 IP 主機上。資產的系統平臺也務必正確填寫。公網 IP 信息只用於展示,可不填,Jumpserver 連接資產使用的是 IP 信息。

② 資產創建信息填寫好保存之後,可測試資產是否能正確連接:

③ 測試成功;如果資產不能正常連接,請檢查管理用戶的用戶名和密鑰是否正確以及該管理用戶是否能使用 SSH 從 Jumpserver 主機正確登錄到資產主機上。

 

(6)網域列表(如果有需要的話)

網域功能是為瞭解決部分環境無法直接連接而新增的功能,原理是通過網關伺服器進行跳轉登錄。

點擊頁面左側的"網域列表"按鈕,查看所有網域列表。

① 點擊頁面左上角的"創建網域"按鈕,進入網域創建頁面,選擇資產里用作網域的網關伺服器。

② 點擊網域的名稱,進入網域詳情列表。

點擊頁面的"網關"按鈕,選擇網關列表的"創建網關"按鈕,進入網關創建頁面,填寫網關信息。

IP信息一般預設填寫網域資產的IP即可(如用作網域的資產有多塊網卡和IP地址,選能與jumpserer通信的任一IP即可),用戶名與密碼可以在資產上面創建亦可使用jumpserver的推送功能(需要手動輸入密碼),確認該用戶擁有執行ssh命令的許可權。

③ 保存信息後點擊測試連接,確定設置無誤後到資產列表添加需要使用網關登錄的資產即可。

 

3.1 創建 Windows 資產(很容易出錯,多註意)

(1)創建 Windows 系統管理用戶

同 Linux 系統的管理用戶一樣,名稱可以按資產樹來命名,用戶名是管理員用戶名,密碼是管理員的密碼。

(2)創建 Windows 系統系統用戶

目前 Windows 暫不支持自動推送,用戶必須在系統中存在且有許可權使用遠程連接,請去掉自動生成密鑰、自動推送勾選;請確認 windows 資產的 rdp 防火牆已經開放。

Windows 資產協議務必選擇 rdp。

(3)創建 Windows 資產

同創建 Linux 資產一樣。

創建 Windows 資產,系統平臺請選擇正確的 Windows,埠號為3389,IP 和 管理用戶請正確選擇,確保管理用戶能正確登錄到指定的 IP 主機上。

 

四、資產節點管理

4.1 為資產樹節點分配資產

在資產列表頁面,選擇要添加資產的節點,右鍵,選擇添加資產到節點。

選擇要被添加的資產,點擊"確認"即可。

4.2 刪除節點資產

選擇要被刪除的節點,選擇"從節點刪除",點擊"提交"即可。

 

五、創建授權規則

① 節點,對應的是資產,代表該節點下的所有資產。

② 用戶組,對應的是用戶,代表該用戶組下所有的用戶。

③ 系統用戶,及所選的用戶組下的用戶能通過該系統用戶使用所選節點下的資產。

④ 節點,用戶組,系統用戶是一對一的關係,所以當擁有 Linux、Windows 不同類型資產時,應該分別給 Linux 資產和 Windows 資產創建授權規則。

創建的授權規節點要與資產所在的節點一致。

六、用戶使用資產

6.1 登錄 Jumpserver

創建授權規則的時候,選擇了用戶組,所以這裡需要登錄所選用戶組下麵的用戶才能看見相應的資產。

用戶正確登錄後的頁面:

 

6.2 使用資產

(1)連接資產

① 點擊頁面左邊的 Web 終端:

② 打開資產所在的節點:

③ 雙擊資產名字,就連上資產了:

如果顯示連接超時,請檢查為資產分配的系統用戶用戶名和密鑰是否正確,是否正確選擇 Windows 操作系統,協議 rdp,埠3389,是否正確選擇 Linux 操作系統,協議 ssh,埠22,以及資產的防火牆策略是否正確配置等信息。接下來,就可以對資產進行操作了。

④ 測試

創建一個test

在伺服器上,確實有test 文件

(2)連接windows 資源

 

6.2.2 斷開資產

點擊頁面頂部的 Server 按鈕會彈出選個選項,第一個斷開所選的連接,第二個斷開所有連接。

以上就是 Jumpserver 的簡易入門了,在使用過程中,如果遇到什麼問題,可以與我討論。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:前面有篇博客已經介紹了線程、線程的信號量和互斥鎖,請參考博客:http://www.cnblogs.com/liudw-0215/p/8966645.html,接下來將介紹線程池。 一、理解 線程池能有效的處理多個線程的併發問題,避免大量的線程因為互相強占系統資源導致阻塞現象,能夠有效的降低頻 ...
  • CentOS6關閉防火牆使用以下命令: CentOS7關閉防火牆使用以下命令: 若安裝了iptables-service,也可以使用下麵的命令: ...
  • [TOC] 靜態庫 先說說我們為什麼需要庫? 當有些代碼我們大量會在程式中使用比如(scanf,printf等)這些函數我們需要在程式中頻繁使用,於是我們就把這些代碼編譯為庫文件,在需要使用時我們直接鏈接即可。 定義: & 8195;程式在 時把靜態庫的代碼鏈接到可執行程式中,在代碼運行時不再需要靜 ...
  • 簡介 vim是Linux 系統下類似於Windows的記事本的編輯器。 vim 中經常使用的三種模式 一般模式:瀏覽文件內容。 插入模式:編輯文件內容。 底行模式:進行保存編輯內容,退出等操作。 基本命令操作 vim filename ,打開文件,進入一般模式。 那麼現在如果我想修改文件怎麼辦呢? ...
  • 一開始,坐著上機實驗,一直搞不通為什麼虛擬機上的客戶機可以ping通自己的ip也可以ping通自己本身的ip,但是主機ping不通虛擬機的客戶機,也ping不通虛擬機的網關。 嘗試了各種問題,也追出了一大串問題: 1.宿主上,乙太網屬性什麼都沒有,連接時使用的框+此連接使用下列項目(o)裡面都沒有內 ...
  • 在安裝配置完zabbix_agentd以後,網頁端出現 Get value error: cannot connect to [[192.168.238.139]:10050]: [113] No route to host 錯誤,客戶端主機無法被監聽 解決方法: 首先在服務端ping一下客戶端的I ...
  • 線上箭頭表示畫線的方向。WINDING模式和ALTERNATE模式都會填充三個封閉的L型區域,號碼從1到3。兩個更小的內部區域,號碼為4和5,在ALTERNATE模式下不被填充。但是在WINDING模式下,號碼5的區域會被填充,這是因為區域的內部到達圖形的外部必須穿過兩條相同方向的線。號碼為4的區域 ...
  • 前言:有個問題感覺一直會被問道:進程和線程的區別?也許之前我會回答: 進程:資源分配最小單位 線程:輕量級的進程 是系統調度的最小單位 由進程創建 多個線程共用進程的資源 但是現在我覺得一個比喻回答的更好:程式就像靜止的火車,進程是運行的火車,線程是運行火車的每節車廂。 個人感覺理解遠比背些概念性東 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...