X11
如何 ssh -Y 然後 su - <another user> 並且仍然將 X 應用程序轉發到您的本地電腦
“獲取”(即在本地繪製)遠端執行的 linux 應用程序很容易:如果我
ssh -Y
到遠端機器並執行一個應用程序,該應用程序肯定會在我的本地桌面上彈出。但是,如果當我在遠端機器上 ssh’ed
su
到另一個使用者時,我不能將 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
文件複製到目標使用者的主目錄(並授予他們所有權),您應該能夠連接。