PuTTY,CygwinX和X11转发连接被拒绝


10

我不再能够使用KiTTY / PuTTY将X11转发到CygwinX。

我正在连接到正确配置为允许X11转发的Ubuntu Server 14.10计算机。我能够启动使用Cygwin xterm和其他Linux机器X11转发。

我在Win7上使用CygwinX [1.7.34(0.285 / 5/3)]和KiTTY 0.64.0.1(PuTTY fork,我也尝试过PuTTY)。

我已经验证了显示变量,并尝试在Cygwin xterm中禁用xhost访问控制。

$ echo $DISPLAY
:1

$ xhost +
access control disabled, clients can connect from any host

我的KiTTY / PuTTY已配置为启用X11转发,并设置了正确的显示。我试过:1和:1.0。

KiTTY X11 Config屏幕截图

当我SSH到服务器时,将设置DISPLAY变量,并更新xauth。我已经删除了.Xauthority并重新创建了它以进行验证。

user@server:~$ echo $DISPLAY
localhost:10.0
user@server:~$ xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  3983b2d7f3d5f9f66d9796997771bf82

当我尝试启动X11应用程序时,出现以下错误。

user@server:~$ xterm
KiTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xterm: Xt error: Can't open display: localhost:10.0

如果重要,XWin.exe会在端口34576上侦听。

[XWin.exe]
 TCP    127.0.0.1:34576        0.0.0.0:0              LISTENING

我相信我在多个服务器和客户端计算机上都遇到了一个软件或配置问题,所以我一直没有。任何帮助,将不胜感激。


$DISPLAY远程计算机上的磁盘应该指向您的桌面地址,而不是localhost
lcd047

2
@ lcd047不,绝对是现在。$DISPLAY远程计算机上的指向localhost。SSH执行转发。
吉尔斯(Gilles)'所以

我安装了32位Cygwin,以消除Cygwin64作为变量。没变化。仍然收到连接被拒绝的错误。
SeeJayEmm 2015年

@Gilles:我要说的是,由于 $DISPLAY远程计算机上没有指向OP的桌面,因此X11转发没有发生。否则,$DISPLAY如果远程计算机本身未运行X服务器,则该远程计算机上甚至可能甚至不存在(无论如何与初始问题无关)。
lcd047

3
@ lcd047不,请检查您的事实。如果发生X11转发,则DISPLAY指向localhost。SSH侦听远程计算机上的TCP端口并转发数据包。如果DISPLAY指向本地计算机,则表明它不是通过SSH转发的,而是通过直接TCP连接(以明文形式)转发的,甚至可能转发到甚至没有路由的IP地址。
吉尔斯(Gilles)'所以

Answers:


9

好的,我想出了解决自己问题的方法。

默认情况下,CygwinX不再侦听tcp连接(Cyg SSH使用Unix套接字进行连接)。要启用tcp连接,需要在命令行参数中添加“ -listen tcp”。就我而言,我将“ XWin Server”图标更改为:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"

这对我来说很棒,谢谢!但是,如何避免xhost +localhost每次启动X服务器时都必须在本地cygwin终端中执行此操作(或更安全的解决方案)?
chappjc

1
好吧,我xhost +localhoststartxwin文件末尾附近的最后一个条件中添加了:xhost +localhost fi exit $retval
chappjc 2015年

腻子呢?
布赖恩·托马斯

@BrianThomas您能澄清您的问题吗?腻子呢?我原始帖子中的PuTTY配置有效。问题出在CygwinX。
SeeJayEmm '17

好吧,我指的是“腻子未连接”的标题,答案是针对Cygwin的,而不是针对腻子的,但我在OP中看到了腻子屏幕。无论如何,我想通了。对于油灰而言,解决我的问题的方法是确保仅运行一个Xserver(在我的情况下为XMing),并且启动时的日志中没有错误,并且必须指定该显示:10对我有用。(好的,我可以看到这与您的答案不相关,因为您原来的OP,但是这里也有其他人,这个问题可能涉及面很广。希望这对其他人有帮助。)
Brian Thomas

0

我有这个问题。这是因为X-Win没有运行。如果希望X-Win在启动时运行,请先“运行”,然后“ shell:startup”,然后将x-win快捷方式复制到该文件夹​​中。


0

就我而言,错误类似于“ putty x11连接被拒绝”。我是通过Windows计算机通过腻子(启用x11转发)登录到Ubuntu 16服务器的。

尝试了很多事情,从重新生成.Xauthority文件到使用xauth列表添加魔术cookie。但是,问题仅仅是Xming服务器未在Windows计算机上运行。一旦我在要生成腻子的主机(Windows)上启动Xming,通过Putty登录就像魅力一样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.