sil*_*tar 3 x11 ssh xming putty
我使用 Windows 中的 PuTTY+Xming 连接到两个不同的 SSH 服务器 A 和 B。
在服务器 A 上,echo $DISPLAY产生localhost:10.0(已经以某种方式设置);在服务器 B 上,我也手动将DISPLAY变量设置为localhost:10.0。
但是,我可以xclock在服务器 A 上使用,但不能在服务器 B 上使用。我可以让它在服务器 B 上工作的唯一方法是将服务器 B 的 IP 地址添加到 Xming 的X0.hosts配置中,并将DISPLAY环境变量设置为我的 Windows 计算机的 IP 地址。
我的问题是,为什么服务器 A 可以xclock在最少的设置下工作(只需启用 X11 转发并将显示位置设置为 PuTTY 中的 localhost:0.0),但服务器 B 却不能?
另外,如何在服务器A上查找将DISPLAY环境变量设置为localhost:10.0的脚本?
附加信息: 1)服务器 A 有一个 ~/.Xauthority 文件,该文件在登录时自动创建,而服务器 B 没有。2) 服务器 B 的 /var/log/auth.log 包含以下错误: sshd[1404]: error: 无法分配互联网域 X11 显示套接字。3)我之前更改过一次服务器B的主机名。
经过大量谷歌搜索后,发现罪魁祸首是服务器 B 上禁用了 ipv6。
作为解决方法,需要将以下行添加到/etc/ssh/sshd_config:
AddressFamily inet
Run Code Online (Sandbox Code Playgroud)
现在应该在之后工作sudo service ssh reload。