[英]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
sudo apt install xauth
/etc/ssh/sshd_config
#AddressFamily any
行更改為AddressFamily inet
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.