Cygwin XWin服务器随机丢失连接

我正在使用cygwin ssh进入一个远程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任务栏中,所以我知道它仍在运行。 到目前为止,我find的唯一解决方法是注销,然后再次ssh回来。 超烦人! 请帮忙!

gvim和xterm不工作,因为XWin停止工作

谢谢,

-Derek

Solutions Collecting From Web of "Cygwin XWin服务器随机丢失连接"

我解决了这个问题,使用:

 ssh -Y user@server 

代替

 ssh -X user@server 

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

当我读“远程”我想防火墙。 难道你在ssh会话上有一个不活动的定时器,导致它在一段时间后“拆卸”? 如果是这样,你会发现在各种日志(服务器和防火墙)的痕迹。 如果没有,这只是一个普通的cygwin-X稳定性问题,你可能要考虑使用virtualbox | vmware和你的windows-Box上你选择的linux-distro。 如果你使用“nat”作为以太网设备,它将捎带在你的windows的IP上; 如果您需要ssh“进入”您的VM-Guest,您可以设置窗口将传入的tcp / 22传递到VM-Guest的堆栈中。 (如果你在tcp / 22上使用cygwin的sshd,将不起作用); 其他好运// rhi

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