X11

如何 ssh -Y 然後 su - <another user> 並且仍然將 X 應用程序轉發到您的本地電腦

  • May 22, 2020

“獲取”(即在本地繪製)遠端執行的 linux 應用程序很容易:如果我ssh -Y到遠端機器並執行一個應用程序,該應用程序肯定會在我的本地桌面上彈出。

但是,如果當我在遠端機器上 ssh’edsu到另一個使用者時,我不能將 X 應用程序轉發到我的本地機器。它說wrong authentication

我不知道如何處理這個案子。echo $DISPLAY仍然是正確的(由初始登錄設置)ssh -Y,但會話 cookie 可能僅為登錄 ssh 的初始使用者設置。

如何克服這個困難並轉發由不同使用者執行的其他 X 應用程序?

我不直接 ssh 的原因是因為我不希望通過 ssh 訪問該使用者(它是“virtualbox”使用者,這顯然是試圖 ssh 到該伺服器的機器人的一個簡單目標)……

當您通過啟用 X11 轉發的 ssh 連接到刪除機器時,伺服器上的 ssh 在.Xauthority使用者的主目錄中創建一個文件。因為 ssh 在 TCP 套接字上偵聽 X11,所以任何人都可以連接。因為任何人都可以連接,所以我們需要某種方法來阻止任何人使用您的顯示器。這是通過該.Xauthority文件完成的。該文件包含一個“cookie”,該“cookie”提供給 X11 伺服器,用於驗證客戶端應該被允許連接。

跳過所有細節,如果您將該.Xauthority文件複製到目標使用者的主目錄(並授予他們所有權),您應該能夠連接。

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