萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux X Window 存取控制:xhost 指令完整用法詳解

xhost 是 X Window System 的伺服器端存取控制工具,用於管理哪些主機/使用者可連線至本機 X Server 顯示圖形介面。本文系統整理其語法、常見情境與安全性考量。

核心概念

  • X Server:管理螢幕、鍵盤、滑鼠的顯示服務(通常運行於使用者坐前的機器)
  • X Client:圖形應用程式(可運行於遠端主機)
  • 遠端執行圖形程式時,Client 需連線回本機的 X Server 顯示畫面

指令語法

xhost [+|-] [hostname|username@domain]
  • +:允許存取
  • -:拒絕存取
  • 無參數:顯示目前存取清單與啟用狀態

常見操作範例

指令效果
xhost +允許所有主機連線(極度不安全,僅限測試)
xhost + 192.168.1.100允許特定 IP 連線
xhost + si:localuser:alice允許本機使用者 alice(現代 SI 格式)
xhost - 192.168.1.100移除特定 IP 許可
xhost -僅允許清單內主機(預設安全模式)

典型使用情境:SSH X11 Forwarding

  1. 本機(A)執行 xhost +si:localuser:$(whoami) 允許本地使用者
  2. SSH 連線遠端(B):ssh -X user@hostB
  3. 遠端執行圖形程式:xeyes、gedit 等畫面將顯示於本機 A

永久配置

編輯 /etc/X0.hosts(0 為顯示器編號),每行一個主機名/IP,重啟 X Server 生效。

安全性警示

  • 嚴禁在生產/暴露網路環境使用 xhost +,將導致任意遠端程式可竊取螢幕、鍵盤輸入
  • 優先使用 ssh -X / ssh -Y(Trusted Forwarding)透過 Xauthority 憑證機制驗證
  • Wayland 環境下請改用 xhost +si:localuser:... 或 wayland 原生權限機制

xhost 指令操作示意

替代方案

  • xauth:管理 .Xauthority 憑證檔,更細粒度控制
  • ssh -X:自動處理 X11 轉發與憑證,無需手動 xhost
  • VNC / RDP / SPICE:完整桌面遠端方案,避免 X 協議網路效能問題

理解 X Window 的 Client/Server 架構與 xhost 權限模型,是進行遠端圖形應用部署與除錯的基礎。

copyright © 萬盛學電腦網 all rights reserved