Ssh
如何通過 SSH 轉發 X 以遠端執行圖形應用程序?
我有一台執行 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
. 請注意,伺服器不會以任何方式回复,這是一種向潛在攻擊者隱藏詳細資訊的安全預防措施。