X11 轉發和 .Xauthority 文件

X11 轉發和 .Xauthority 文件

在過去的幾周里,我斷斷續續地尋找這個問題的答案,但我見過的解決方案都不適合我。我嘗試刪除這兩個位置的 .Xauthority 檔案。我使用 Cygwin X 存取另一台電腦。最近X11轉發不能用了。在我的本機電腦上啟動 X 伺服器後:

[local]$ export DISPLAY=0.0    
[local]$ ssh -XY user@remotelocation
Warning: No xauth data; using fake authentication data for X11 forwarding.

我不確定這是否有幫助,但是:

[remote]$ xauth list
location/unix:10 MIT-MAGIC-COOKIE-1 304eb389beb66bf44ae6bc1821bdf472

最後,問題出現在這裡:

[remote]$ gedit file &
X11 connection refused because of wrong authentication.

我總是收到“沒有 xauth 數據;使用虛假身份驗證”警告,但最近 X11 連接因此被拒絕。你有什麼建議嗎?

答案1

我嘗試刪除這.Xauthority兩個位置的檔案。

也許在此之前出了什麼問題,但在此之後你肯定不會成功。如果您在某個地方找到了此建議,並且他們並不是指某些不適用於您的極其不尋常的情況,請將該來源列入黑名單。.Xauthority在客戶端恢復文件。

如果您遺失了該.Xauthority文件,您可以從正在運行的進程或臨時文件中恢復它。我不知道如何用 Cygwin 做到這一點。一種在任何地方都適用的簡單方法是退出 X 伺服器並啟動一個新伺服器。

如果您收到訊息「沒有 xauth 資料;使用虛假身份驗證”,那麼遠端應用程式將無法在本機伺服器上顯示,除非其配置為關閉安全性。如果沒有 xauth 的安全性,任何人都可以監視您的 X 會話並注入輸入(如果他們可以訪問 X 伺服器);根據配置,他們可能需要是本地用戶(在這種情況下,在單用戶作業系統上還不錯),或者他們可以打開到您的電腦的 TCP 連接就足夠了(即,他們是在您的本地網絡中,如果您使用公共wifi,則可以是任何人)。如果它曾經有效但現在不再有效,可能是因為最近修復了一些缺少的安全檢查。

獲得有效.Xauthority文件後,打開 shell 並檢查是否可以運行本地應用程序,例如gedit.從同一個 shell 中,運行ssh -X user@remotelocation並嘗試執行 X 應用程式。要么這會起作用,要么你會收到錯誤訊息;閱讀它們,如果您尋求幫助,請複製並貼上它們。如果不起作用,請運行ssh -vv -X user@remotelocation;額外的調試輸出將提供一些有關其不起作用的原因的資訊。

請確保伺服器允許遠端 X 連線。對於 OpenSSH,文件/etc/sshd_config(或/etc/ssh/sshd_config其他位置,取決於發行版)必須包含X11Forwarding yes.

相關內容