Ssh

如何通過 SSH 轉發 X 以遠端執行圖形應用程序?

  • January 31, 2022

我有一台執行 Ubuntu 的機器,我從我的 Fedora 14 機器 SSH 到它。我想將 Ubuntu 機器上的 X 轉發回 Fedora,這樣我就可以遠端執行圖形程序。兩台機器都在區域網路上。

我知道該-X選項在 SSH 中啟用 X11 轉發,但我覺得我錯過了一些步驟。

通過 SSH 將 X 從 Ubuntu 機器轉發到 Fedora 需要哪些步驟?

客戶端和伺服器端都需要開啟 X11 轉發。

客戶端,啟用 X11 轉發的-X(capital X) 選項,您可以使用inssh將其設為預設值(對於所有連接或特定連接)。ForwardX11 yes~/.ssh/config

伺服器端X11Forwarding yes必須在/etc/ssh/sshd_config. 請注意,預設設置是不轉發(某些發行版在預設情況下將其打開/etc/ssh/sshd_config),並且使用者無法覆蓋此設置。

xauth程序必須安裝在伺服器端。如果那裡有任何 X11 程序,那很可能xauth會在那裡。在不太可能的情況下xauth安裝在非標準位置,可以通過~/.ssh/rc(在伺服器上!)呼叫它。

請注意,您不需要在伺服器上設置任何環境變數。DISPLAY並將XAUTHORITY自動設置為適當的值。如果你執行 ssh 並且DISPLAY沒有設置,這意味著 ssh 沒有轉發 X11 連接。

要確認 ssh 正在轉發 X11,請檢查Requesting X11 forwarding輸出中是否包含ssh -v -X. 請注意,伺服器不會以任何方式回复,這是一種向潛在攻擊者隱藏詳細資訊的安全預防措施。

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