萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux下出現X11 forwarding request failed on channel 0錯誤

Linux下出現X11 forwarding request failed on channel 0錯誤

  當你在使用SSH的X11轉發選項到遠程連接的時候,登錄時可能會遇到“X11 forwarding request failed on channel 0” (X11 轉發請求在通道0上失敗)的錯誤,遇到這種錯誤是什麼原因導致的呢?又該如何解決呢?下面小編就教大家在Linux下遇到該問題該如何處理。

  首先,我們假設你已經正確啟用了SSH的X11轉發。

  Linux下出現"X11 forwarding request failed on channel 0錯誤

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

   Linux下出現"X11 forwarding request failed on channel 0錯誤

  方案一

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

  $ sudo vi /etc/ssh/sshd_config

  X11Forwarding yesX11UseLocalhost 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

  上面就是Linux下修復“X11 forwarding request failed on channel 0”錯誤的方法介紹了,造成該錯誤的原因有很多種,不同情況不同處理,當前提是你正確啟用了SSH的X11轉發。

copyright © 萬盛學電腦網 all rights reserved