Ssh

了解 ssh X11 轉發

  • January 20, 2015

我有一個相當奇怪的設置,我正在嘗試開始工作。

我有一個在容器中執行的 Ubuntu 安裝(通過 Proxmox)。主機是 CentOS。兩台伺服器都沒有執行 X 實例。

我的主機物理上插入了監視器。我的最終目標是能夠ssh -X從主機到容器並執行xbmc,以便它顯示在我的顯示器上。

關於此設置的一些問題:

  • 我也需要X安裝在主機上對嗎?
  • 究竟什麼是“顯示”(如:0:1),我需要設置它們嗎?
  • 我正在嘗試做的事情可能嗎?
  • 我也需要在主機上安裝 X,對嗎?

您只需要在主機上安裝 X 伺服器,並且它需要執行。您將需要容器中的一些 X 客戶端庫(安裝xbmc可能會將這些作為依賴項拉入),但不需要 X 伺服器。

  • 究竟什麼是“顯示”(如:0 和:1),我需要設置它們嗎?

顯示器是由特定伺服器管理的不同(假設的)螢幕,DISPLAY環境變數告訴 X 客戶端如何連接。ssh -X自動設置;你不需要做任何事情

ssh完全不涉及,直接使用 X就可以做到這一點。在這種情況下,您需要進行DISPLAY適當的設置。在這些情況下,除了降低加密連接的資源成本外,這對您沒有特別的優勢。

如果您沒有ssh從主機的 X 伺服器環境中執行該命令,您將需要DISPLAY=:0在該端顯式設置(或類似的)以便ssh可以看到它。

  • 我正在嘗試做的事情可能嗎?

的,這幾乎就是 X 協議的目的。


您應該檢查和選項man ssh的詳細資訊,-X以及選項的詳細資訊。在您的情況下,安全問題可能並不真正適用,但請檢查並確保。-Yman ssh_configForwardX11Trusted

特別是ssh -Y在某些配置中成功率更高,但允許遠端端不受限制地訪問您的 X 伺服器,同時ssh -X阻止許多此類訪問並強制身份驗證在短時間內過期。X 協議不是非常安全,例如,具有不受限制訪問權限的客戶端可以記錄每個其他客戶端的每次按鍵操作。

引用自:https://unix.stackexchange.com/questions/179983