簡體   English   中英

X11 轉發請求在通道 0 上失敗

[英]X11 forwarding request failed on channel 0

當我執行“ ssh -X abcserver ”時,我收到消息“ X11 forwarding request failed on channel 0 ”。 我在網上查了一下,有人建議將“ X11UseLocalhost no ”切換為“ X11UseLocalhost yes ”來解決。

但是,我和我的經理都沒有此管理權限。 我想知道,除了這個解決方案,是否還有另一種選擇來解決這個問題? 我也沒有sudo權限直接在服務器上安裝X11

我的本地平台是:

Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org)
(gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02)

遠程平台是:

Linux version 3.13.0-88-generic (buildd@lgw01-16) 
(gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) 
#135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016

嘗試登錄時將-v選項添加到 ssh 會提供大量調試信息,這些信息可能會提供確切問題所在的線索,例如

debug1: Remote: No xauth program; cannot forward with spoofing.

在我的情況下,在服務器上安裝 xauth 解決了這個問題。

我不得不編輯遠程服務器上的 sshd 配置文件來解決這個問題。 它適用於 Ubuntu 16.04 服務器:

$ sudo vim /etc/ssh/sshd_config

Set `X11UseLocalhost no`

保存文件。

$ sudo service sshd restart

$ exit

現在它起作用了!

$ ssh -X user@remotehost  
$ xclock
 
  1. sudo apt install xauth
  2. /etc/ssh/sshd_config #AddressFamily any行更改為AddressFamily inet
  3. sudo service ssh restart

這在 Ubuntu 18.04 LTS 上就足夠了。

使用ssh -X登錄后(或激活 PuTTY / KiTTY 選項“啟用 X11 轉發”后),您應該會看到環境變量DISPLAY自動定義為localhost:10.0或類似的。 首次成功登錄(使用功能性 X11 轉發)后,將生成文件 .Xauthority。 另一個成功的積極跡象。

如果您有興趣查看並了解會話中 X11 轉發的詳細信息,您可以嘗試使用lsof -i -P|grep ssh

1.確保在ssh -X root@server期間您有 root 權限。

2.更新/etc/ssh/sshd_config並確保此行未注釋

    X11Forwarding yes

systemctl restart sshd

4.從服務器退出

5. ssh -X root@server

6. virt-manager

在我的情況下,作為超級用戶,在遠程主機上編輯/etc/ssh/sshd_config並更改以下行來修復它。

#X11Forwarding no

X11Forwarding yes

然后:在遠程主機上執行pkill -HUP sshd以使 sshd 重新加載其配置,這也會關閉 sshd 會話。

在 X11 轉發突然停止工作后,除了將 ssh 服務器移動到另一個 wifi 之外,沒有其他更改,我按照這個看似完全不同的問題的答案進行操作,並且它有效。

換句話說,我的解決方案似乎是在 /etc/ssh/sshd_config 中指定AddressFamily inet

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM