1

我正在使用 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 任务栏中,所以我知道它仍在运行。到目前为止,我发现的唯一解决方法是注销然后再次 ssh 重新登录。超级烦!请帮忙!

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

谢谢,

-德里克

4

3 回答 3

3

我通过使用解决了这个问题:

ssh -Y user@server 

代替

ssh -X user@server

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

于 2012-11-08T20:58:29.830 回答
2

tl;博士使用ssh -Y

从 openssh 5.6 开始,当您连接时ssh -X,请求不受信任的连接,ForwardX11Timeout 值(默认为 20 分钟)被强制执行,即使不受信任的 X11 转发设置失败并且建立了受信任的连接。(我找不到任何有关此更改的公告,但请参阅 [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

于 2013-02-20T13:43:26.243 回答
1

当我阅读“远程”时,我认为防火墙。可能是您在 ssh 会话上有一个不活动计时器,导致它在一段时间后“拆除”?如果是这样,您会在各种日志(服务器和防火墙)中找到它的痕迹。如果没有,这只是一般的 cygwin-X-stability-problem,您可能需要考虑使用 virtualbox | vmware 和您在 windows-Box 上选择的 linux-distro。如果您使用“nat”作为以太网设备,它将搭载 Windows 的 IP;如果您需要 ssh “进入”您的 VM-Guest,您可以设置窗口以将传入的 tcp/22 传递到 VM-Guest 的堆栈。(如果您在 tcp/22 上使用 cygwin 的 sshd,则无法使用);否则祝你好运//rhi

于 2012-11-07T20:56:04.407 回答