Cygwin XWin服务器随机丢失连接

时间:2012-11-07 20:31:59

标签: linux ssh cygwin x11

我正在使用cygwin进入远程linux盒子并使用cygwin XWin服务器来显示gui应用程序。

首次连接远程计算机时,会显示以下警告:

Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.

无论警告如何,XWin最初看起来都很完美。过了一会儿(通常是大约15分钟),它将不可避免地失去联系。 cygwin X服务器图标仍显示在Windows任务栏中,因此我知道它仍在运行。到目前为止,我发现的唯一解决方法是注销然后重新进入ssh。超级烦人!请帮忙!

gvim and xterm dont work because XWin stopped working

谢谢,

-Derek

3 个答案:

答案 0 :(得分:2)

我通过使用:

解决了这个问题
ssh -Y user@server 

而不是

ssh -X user@server

显然,-Y和-X标志都做同样的事情(启用X11转发)。不同之处在于-X使用安全模式,-Y使用可信模式。如果您信任要连接的机器,则仅使用-Y。如果使用-X,则远程计算机将受限于显示器的功能。对我来说,这意味着我的显示器会在一段时间后超时。使用-Y代替,我的连接永远不会超时。

答案 1 :(得分:1)

当我读“远程”时,我认为防火墙。是不是你在ssh-session上有一个不活动定时器,导致它在一段时间后“拆除”?如果是这样,您会在各种日志(服务器和防火墙)中找到相应的痕迹。如果没有,这只是一个普遍的cygwin-X稳定性问题,您可能需要考虑使用virtualbox |你的选择在你的Windows-Box上的vmware和Linux发行版。如果您使用“nat”作为以太网设备,它将捎带在您的Windows的IP上;如果你需要ssh“进入”你的VM-Guest,你可以设置窗口将传入的tcp / 22传递到VM-Guest的堆栈。 (如果您在tcp / 22上使用cygwin的sshd,则无法工作);祝你好运 // RHI

答案 2 :(得分:1)

tl; dr 使用ssh -Y

自openssh 5.6起,当您与ssh -X连接,请求不受信任的连接时,即使不受信任的X11转发设置失败并建立了可信连接,也会强制执行ForwardX11Timeout值(默认为20分钟)。 (我找不到任何关于此更改的公告,但请参阅[1]以了解相关的代码更改)。

此超时是您在使用ssh -X时要求的“安全”策略的一部分,并阻止在超时到期后与X服务器建立新连接。

如果您将-v选项添加到ssh,这在调查ssh问题时通常很有用,那么当您尝试启动新客户端时,应该会收到“在ForwardX11Timeout过期后拒绝X11连接”消息。

[1] http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/clientloop.c.diff?r1=1.220;r2=1.221;f=h