我透過 SSH 進行 X 轉送時遇到問題。我已經奮鬥了很多年,但似乎沒有人能提供幫助。
我現在採取不同的策略。我想知道如何調試錯誤?
我應該查看哪些日誌,應該設置哪些額外標誌(-v 等)以及我應該尋找什麼?
進一步編輯:
如果我登入 Putty 到伺服器並嘗試xeyes
,我會得到:
PuTTY X11 代理程式:嘗試了錯誤的授權協定錯誤:無法開啟顯示:localhost:10.0
如果我xauth generate $DISPLAY
得到:
PuTTY X11 代理程式:嘗試了錯誤的授權協定xauth:(argv):1:無法開啟顯示「localhost:10.0」。
答案1
我的解決方案一步一步:
1)使用選項-X遠端主機登入root登入
$ ssh -X[電子郵件受保護]
2)檢查是否存在.Xauthority文件
[root@localhost ~]# ls -al [root@localhost ~]# vim .Xauthority
3)複製.Xauthority檔案到其他使用者目錄
[root@localhost ~]# cp .Xauthority /home/oracle/ cp:覆蓋“/home/oracle/.Xauthority”? y
4)設定該檔案的權限
[root@localhost ~]# chown oracle:oinstall .Xauthority [root@localhost ~]# chmod 0600 .Xauthority
5)登入oracle用戶
[root@localhost ~]# su - oracle
6) 在 localhost:10.0 中顯示設置
[oracle@localhost ~]$ echo $DISPLAY 本地主機:10.0 [oracle@localhost ~]$ ls -al
7) 列出現有的 xauth cookies
[oracle@localhost ~]$ xauth 列表 localhost.localdomain/unix:11 MIT-MAGIC-COOKIE-1 310f1b02c1080e73059391c193a1881b localhost.localdomain/unix:10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb759
8)添加
[oracle@localhost ~]$ xauth 新增 localhost.localdomain/unix:10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb75
9) 測試
[oracle@localhost ~]$ xclock
希望他們服務! @wcaraza
答案2
確保 SSH 伺服器已xauth
安裝該工具,並且您的~/.Xauthority
檔案可寫入。 (不存在也可以,只要xauth
能創造就可以。)
檢查 xauth 資料是否正在更新:
server$ xauth list
嘗試手動新增虛擬 xauth 資料(再次在 SSH 伺服器上),並查看是否xauth
有任何問題(例如,無法建立鎖定檔案或修改 Xauthority 檔案本身):
server$ xauth add localhost:123 MIT-MAGIC-COOKIE-1 d7e2e4a8c5aa4430bfcc2abb436940d2
如果需要,請在 下重新運行strace
。
LogLevel DEBUG2
透過在伺服器配置 ( /etc/ssh/sshd_config
) 中進行設置,或直接在調試模式下啟動 sshd,以調試模式運行 SSH 服務:
server$ sshd -rddp 12234
(在此範例中,12234
是您需要連接的臨時 SSH 連接埠。任何空閒連接埠都可以。)
答案3
它正在發揮作用,它正在發揮作用。哈哈。
最後。
在發現這不是系統之後,通過添加一個測試用戶(x 轉發“開箱即用”),我想我應該開始複製 .bash* 啟動文件以將“損壞的”用戶處女化。
所有檔案都沒有不同,因此接下來我刪除了使用者 .ssh 目錄。當我 ssh 登入時,它抱怨“伺服器拒絕我們的密鑰”,但我可以使用密碼登入。登入後,我可以完美轉發。
我現在將嘗試再次設定密鑰,看看是否也能正常工作。然後就會恢復正常。
答案4
rm ~/.Xauth*
然後重新連線。
這對我有用。了解更多細節