我正在嘗試從我的工作電腦上執行我的家庭電腦上的 X 程式。基本設定是這樣的:
Arch Linux 工作電腦 -> OpenBSD SSH 路由器(家用) -> Arch Linux 家用電腦(附 SSH)
我從來沒有真正嘗試過這樣做,而且我不太確定該怎麼做。我該如何讓它發揮作用?
當我嘗試做的時候
$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip
我在最後一條隧道上收到“X11 轉發請求在通道 0 上失敗”
我該如何正確地做到這一點?
編輯:我忘記在我的家庭電腦的 sshd 上啟用 X 轉送。我現在已經解決了這個問題,但是當我執行像 之類的簡單命令時,似乎什麼都沒有發生xterm
。它只是坐在那裡,大概是試圖在我的路由器上顯示 xterm 窗口,而不是在我的工作電腦上
答案1
將工作電腦上的連接埠轉送到家庭電腦的連接埠 22,然後ssh -Y
轉送到該本機連接埠怎麼樣?
例如,
ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
答案2
您所做的應該可行,但您需要xauth
在路由器上安裝該程序,以便它可以為 SSH 創建的虛擬 X11 顯示建立安全金鑰。您需要在您或到達的xauth
任何機器上,即使您實際上沒有在那裡運行任何 X 應用程序,而只是將其用作通往其他地方的一步。ssh -X
ssh -Y
連接到家庭電腦後,檢查您的$DISPLAY
變數。它應該是類似的東西localhost:10
。如果沒有,請返迴路由器上的 shell 並檢查$DISPLAY
那裡。