恢復對 SUSE Linux Enterprise Server 的 Cockpit 存取權限

在 SUSE Linux Enterprise Server 16.0 上,Cockpit 最新發布的設定指南(2026 年 10 月 8 日發布)確認了該cockpit模式、cockpit.socketsystemd 單元以及預設的 HTTPS 連接埠 9090。若要解決控制台無法連線的問題,請先檢查 DNS 和可及性,然後檢查套接字、防火牆、憑證和帳戶。這些安裝指令僅適用於 SLES 16;在較舊的 SLES 版本上,請在安裝或變更規則之前,確認該版本的軟體包和防火牆說明。

請務必使用以下假設範例:系統管理員 Mayahttps://cockpit-srv.example.net:9090在她的工作站上開啟瀏覽器,但瀏覽器逾時。範例中的主機以及任何顯示的位址或狀態僅用於說明,並非真實伺服器測試的報告。

1. 將名稱或網路故障與駕駛艙故障區分開來

首先從 Maya 工作站開始。確認名稱解析成功後,使用較短的逾時時間測試 HTTPS 端點:

getent ahosts cockpit-srv.example.net
curl -vI --connect-timeout 5 https://cockpit-srv.example.net:9090/
對 cockpit-srv.example.net 進行終端查詢的範例,傳回保留的範例位址 192.0.2.25
範例 DNS 結果使用的是保留的文件位址;請檢查您自己的環境中的實際主機名稱和位址。

如果名稱查找失敗或傳回舊位址,請在操作 Cockpit 之前修正 DNS 記錄或用戶端解析器。如果 curl 報告“連接被拒絕”,則表示主機已回應,但該連接埠上沒有任何服務接受連接,或防火牆主動拒絕了連接。超時通常表示流量遺失、路由問題或上游防火牆。如果 curl 到達 TLS 並報告證書警告,則表示網路流量已到達 Cockpit;請檢查證書,而不是開啟更多連接埠。

確認 Maya 使用的是預期的主機名稱和管理網路。預設連接埠為 TCP 9090,但可以自訂。如果直接存取受到限制,請使用經批准的 Cockpit 主伺服器透過 SSH 連接到輔助主機,而不是廣泛暴露連接埠。

2. 檢查伺服器上的軟體包和套接字

使用 SSH 或本機控制台檢查已安裝的 Cockpit 軟體包、systemd 套接字以及是否有任何程式監聽 9090 連接埠:

sudo zypper se -i cockpit
sudo systemctl status cockpit.socket
sudo ss -ltnp 'sport = :9090'
範例 systemctl 狀態輸出顯示 cockpit.socket 處於活動狀態並且正在監聽連接埠 9090
cockpit.socket即使在瀏覽器會話之間按需提供的 Cockpit 服務處於空閒狀態時,也需要保持積極監聽。

Cockpit 使用 systemd 套接字啟動:cockpit.socket接受瀏覽器連線並在需要時啟動 Web 服務。因此,空閒狀態cockpit.service本身並不表示故障。如果 Cockpit 已安裝但套接字處於非活動狀態,請啟動並啟用它:

sudo systemctl enable --now cockpit.socket

如果 SLES 16 上缺少該軟體包,SUSE 文件中提供了安裝說明sudo zypper in -t pattern cockpit。請勿假設 SLES 15 或其他版本配置的儲存庫中提供了該軟體包。請使用以下命令查看套接字和服務訊息:

sudo journalctl -u cockpit.socket -u cockpit.service -b --no-pager

如果套接字在本機監聽但 Maya 仍然逾時,請檢查防火牆和路由。如果套接字沒有監聽,請修復日誌中的套件或套接字錯誤。

3. 允許透過正確的防火牆區域進行訪問

在啟用了 firewalld 的 SLES 16 上,首先確定活動區域並檢查其允許的服務:

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=ZONE --list-services
以下範例 firewalld 指令顯示了活動區域以及公共區域中允許的服務。
在變更主機防火牆之前,請檢查實際的活動區域及其服務;顯示的公共區域只是一個範例。

替換ZONE為與管理介面關聯的區域。如果缺少 Cockpit 服務且該區域用於受信任的管理訪問,請新增 Cockpit 服務並重新載入規則:

sudo firewall-cmd --zone=ZONE --add-service=cockpit --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=ZONE --query-service=cockpit

此規則會影響該區域允許的所有來源,因此請確保管理區域僅限於管理員網路。同時,請檢查雲端安全群組、網路存取控制清單 (ACL)、VPN 原則以及上游防火牆中 TCP 9090 連接埠的設定。

SUSE 的 SLES 16 Cockpit 指南也記錄了防火牆設定過程中的刷新cockpit-selinux-policies和重新啟動步驟cockpit.socket。如果您使用的是 SLES 16,並且在按照防火牆步驟操作後,軟體包/套接字或 SELinux 策略仍然出現不一致的情況,請使用 SUSE 指南中提供的相應命令:

sudo zypper in -f cockpit-selinux-policies
sudo systemctl restart cockpit.socket

未經相關軟體包指南,請勿將此軟體包步驟套用至其他 SLES 版本。如果有意限制直接連接埠訪問,請使用已核准的 Cockpit 主主機,並透過 SSH 以輔助伺服器身分連接到目標主機,而不是擴展目標主機的防火牆權限。

4. 解決 TLS 警告和登入拒絕問題

透過 HTTPS 連線 Open Cockpit:https://cockpit-srv.example.net:9090在 SLES 16 上,如果未安裝證書,Cockpit 會產生一個自簽名憑證。瀏覽器關於未知頒發者或名稱不符的警告表示存在 TLS 信任或驗證問題,但並未證明 TCP 連線失敗。請勿停用瀏覽器憑證檢查作為永久解決方案。

範例終端顯示了在 shell 提示字元下 SUSE 的 cockpit-certificate-ensure 檢查命令。
所示指令檢查 Cockpit 將使用哪個憑證;此圖並未顯示檢查結果。

使用 SUSE 文件中提供的命令檢查 Cockpit 選擇的證書:

sudo /usr/libexec/cockpit-certificate-ensure --check

SLES 16 從指定位置載入憑證/etc/cockpit/ws-certs.d;相符的私鑰使用相同的基本檔名,但附有.key後綴。對於受管伺服器,請安裝主題備用名稱與 Maya 輸入的主機名稱相符的證書,包含其中間鏈,並將頒發憑證的 CA 設定為工作站信任的憑證授權單位。如果 curl 可以存取服務但報告的是自簽名證書,請修正信任設定或部署適當的證書,而不是更改防火牆設定。

Cockpit 使用伺服器的常規帳戶憑證,無需單獨的 Cockpit 密碼。在新安裝的 SLES 系統中,root預設會停用基於密碼的登入。如果 Maya 進入登入頁面但無法以 root 使用者身分登錄,請使用已授權的普通帳戶,而不是僅僅為了排查 Cockpit 問題而啟用 root 密碼登入。之後,管理員操作可以使用該帳號的授權權限路徑。

驗證完整路徑

從 Maya 工作站重新載入 HTTPS URL。驗證 DNS 是否傳回目標伺服器,TCP 9090 連接埠是否可達,憑證是否符合且受信任,以及授權帳戶是否可以登入。如果本地監聽正常但遠端請求逾時,請將位址、連接埠和測試時間提供給網路團隊。

關於安裝、防火牆、憑證和驗證詳情,SUSE 最新參考資料是2026 年 10 月 8 日發布的《SLES 16.0 Cockpit 管理指南》 。有關 Cockpit 各版本中 HTTPS 和憑證的通用行為,請參閱《 Cockpit SSL/TLS 指南》。具體的軟體包可用性和防火牆整合情況取決於特定版本。

留下評論

啟用 SLES 即時修補並驗證核心修復

啟用 SLES 即時修補並驗證核心修復

為 SLES 16.0 或 15 SP7 設定正確的即時修補路徑,套用符合條件的核心修復程序,並確認哪些修復程序處於活動狀態,而不會將其與需要重新啟動的核心更新混淆。

在 SLES 15 SP5 升級到 SP6 期間保持服務可用

在 SLES 15 SP5 升級到 SP6 期間保持服務可用

SLES 15 SP5 可以在線上遷移到 SP6,但每個節點都必須重新啟動。請使用經過測試的滾動升級或藍綠切換方案,以確保工作負載的可存取性。

在 SUSE Linux 上建立自訂 AppArmor 設定文件

在 SUSE Linux 上建立自訂 AppArmor 設定文件

在 SLES 15 SP7 上建立、完善和驗證最小權限 AppArmor 設定文件,並明確說明 SLES 16 的 SELinux 預設設定。

使用 OpenSCAP 安全應用 SLES 15 STIG

使用 OpenSCAP 安全應用 SLES 15 STIG

使用 SUSE 支援的 STIG 設定檔掃描 SLES 15,測試修復,查看剩餘結果,並保留評估證據。

恢復對 SUSE Linux Enterprise Server 的 Cockpit 存取權限

恢復對 SUSE Linux Enterprise Server 的 Cockpit 存取權限

使用 SUSE 最新指南,透過 DNS、連接埠 9090、systemd 套接字、firewalld、TLS 和登入設定來追蹤失敗的 Cockpit 連線。

使用 SLES 15 綁定配置可靠的乙太網路故障轉移

使用 SLES 15 綁定配置可靠的乙太網路故障轉移

在 SLES 15 上使用 YaST 和 Wicked 建立冗餘乙太網路連接,配置主備綁定,並驗證兩個連接埠和故障轉移。

為 SLES 15 安裝建置可重複使用的 AutoYaST 設定檔

為 SLES 15 安裝建置可重複使用的 AutoYaST 設定檔

將現有的 SLES 15 系統轉換為經過審核的 AutoYaST 設定文件,對其進行驗證,並使用該設定檔以更少的手動步驟部署測試伺服器。

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

安裝 SLES 15 KVM 和 libvirt 工具,啟用正確的主機服務,並配置選定的虛擬機器在重新啟動後啟動。

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

使用 systemd 作業和先前的啟動日誌來尋找運行緩慢的服務、掛載點或儲存依賴項,然後修正它,而不掩蓋原因。

僅開放 SLES 15 伺服器所需的網路流量

僅開放 SLES 15 伺服器所需的網路流量

使用 firewall-cmd 檢查活動區域,安全地允許 HTTP,保留 SSH 訪問,並驗證該規則在 SLES 15 上重新加載後是否仍然存在。