Linux中國

Linux有問必答:如何修復「X11 forwarding request failed on channel 0」錯誤

如果你在登錄時遇到"X11 forwarding request failed on channel 0" (X11 轉發請求在通道0上失敗),這裡可能有不同的原因,解決的方法也不同。

方案一

出於安全原因,OpenSSH服務默認將X11轉發請求綁定到本地迴環地址上,並且在DISPLAY環境變數中將主機名設置為「localhost」。在這樣的設定下,一些 X11客戶端不能正確處理X11轉發,這會導致報告中的錯誤。要解決這個問題,在/etc/ssh/sshd配置文件中加入下面這幾行,它可以將X11轉發請求綁定到外網卡地址上。

$ sudo vi /etc/ssh/sshd_config 
X11Forwarding yes
X11UseLocalhost no

重啟SSH使設置生效:

$ sudo /etc/init.d/ssh restart (Debian 6, Ubuntu or Linux Mint)
$ sudo systemctl restart ssh.service (Debian 7, CentOS/RHEL 7, Fedora)
$ sudo service sshd restart (CentOS/RHEL 6) 

方案二

如果遠程主機的SSH服務禁止了IPv6,那麼X11轉發失敗的錯誤也有可能發生。要解決這個情況下的錯誤。打開/etc/ssh/sshd配置文件,取消對"AddressFamily all" (如果有這條的話)的注釋。接著加入下面這行。這會強制SSH服務只使用IPv4而不是IPv6。(LCTT 譯註:此處恐有誤,AddressFamily 沒有 all 這個參數,而 any 代表同時支持 IPv6和 IPv4,以此處的場景而言,應該是關閉IPv6支持,只支持 IPv4,所以此處應該是「注釋掉 AddressFamily any」才對。)

$ sudo vi /etc/ssh/sshd_config 
AddressFamily inet

再說一次,重啟SSH服務來完成設置

via: http://ask.xmodulo.com/fix-broken-x11-forwarding-ssh.html

譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國