一段时间后,从Linux到Mac的SSH转发的X11显示器丢失了

Modified on: Wed, 24 Apr 2019 20:40:02 +0800

从Mac(10.7.2)登录到Linux(Ubuntu 8.04)时,ssh转发我的X11连接时出现了一个新的棘手问题。我可以毫不费力地使用ssh -X登录远程计算机并从该shell启动基于X11的应用程序。

最近开始发生的事情是,在一段时间(大约数小时)之后,来自同一个shell的X11应用程序的其他调用无法启动,因为转发的显示被阻止(我推测)。例如,在尝试启动xterm时,我收到有关错误DISPLAY设置的常见消息,例如:

  

xterm Xt错误:无法打开display:localhost:10.0

但是我在登录时启动的X11应用程序仍在运行,使用完全相同的显示(localhost:10.0),只是之前已经启动。

我打开了sshd_config中的详细日志记录,我在/var/log/auth.log文件中看到了这一点,以响应失败的xterm启动尝试:

  

sshd [22104]:频道8:开放失败:管理上禁止:开启失败

如果我再次向服务器ssh -X,启动一个新的shell并获得一个新的显示(localhost:11.0),同样的过程重复:X11应用程序在运行的早期启动就好了,只要我保留它们打开(天),但几个小时后,我无法从那个shell开始任何新的。

详细信息:在Ubuntu 8.04上运行的OpenSSH sshd服务器,使用默认的Apple X服务器显示转发到运行Lion(10.7.2)的Mac。这些系统连接在以太网LAN上,它们之间有一个交换机。这两台机器都没有运行防火墙。直到最近(几天前)这个设置完美无缺,所以我对下一步的看法感到困惑。我绝不是X11或SSH专家,但具有良好的UNIX / Linux经验。在客户端或服务器配置中没有任何明显的改变,尽管我已经尝试更改一些选项以尝试调试它,例如将sshd_config的TCPKeepAlive设置为no,并设置“host + localhost”(你可以告诉我一直在谷歌搜索)。 / p>

当从Linux 11.10笔记本电脑通过同一网络和交换机登录到同一个远程主机时,不会发生此问题 - 可以在几小时后从同一个ssh登录shell成功调用xterm,同时从Mac失败了(今天早上测试肯定),所以它似乎是特定于Mac的问题。

在远程计算机(sshd服务器)上设置了“LogLevel DEBUG3”,并且我没有对客户端连接进行任何更改,/ var / log / auth.log显示一夜之间连接状态报告略有变化,这是来自Linux机器的一个成功的ssh会话使用的端口号(我认为),连接#7如下:

  

sshd [20173]:debug3:channel 7:status:以下连接打开:\ r \ n#0 server-session(t4 r0 i0 / 0 o0 / 0 fd 14/13 cfd -1)\ r \ n#3 X11连接127.0.0.1端口57564(t4 r1 i0 / 0 o0 / 0 fd 16/16 cfd -1)\ r \ n#4 X11连接127.0.0.1端口57565(t4 r2 i0 / 0 o0 / 0 fd 17/17 cfd -1)\ r \ n#5 X11连接127.0.0.1端口57566(t4 r3 i0 / 0 o0 / 0 fd 18/18 cfd -1)\ r \ n#6 X11连接127.0 .0.1端口57567(t4 r4 i0 / 0 o0 / 0 fd 19/19 cfd -1)\ r \ n#7 X11连接127.0.0.1端口59007

在此报告中,状态报告之间的一切都是相同的,除了连接#7使用的端口号,我相信它是Linux客户端 - 唯一仍然保持显示连接的端口号。它会随着时间的推移而不断增加,从一夜之间的一系列报告来判断。

感谢您的帮助,

-Mike

作者:,mklein9

最佳答案

在我更改Mac客户端的/ etc / ssh_config以包含该行之后,ssh会话开始了:

  

ForwardX11Timeout 596h

一切正常,一整天都在工作。到现在为止,他们都拒绝开始新的xterms。所以我相信这就是答案,幸运的是一个简单的解决方案,但是超时仍然会在3-1 / 2周后发生。

作者:mklein9

相关问答

添加新评论