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

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

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

xterm Xt error: Can’t open display: localhost:10.0

但是我在登录时启动的X11应用程序仍然可以正常运行,使用完全相同的显示(localhost:10.0),就像之前启动的一样.

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

sshd[22104]: channel 8: open failed: administratively prohibited: open failed

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

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

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

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

sshd[20173]: debug3: channel 7: status: The following connections are open:\r\n #0 server-session (t4 r0 i0/0 o0/0 fd 14/13 cfd -1)\r\n #3 X11 connection from 127.0.0.1 port 57564 (t4 r1 i0/0 o0/0 fd 16/16 cfd -1)\r\n #4 X11 connection from 127.0.0.1 port 57565 (t4 r2 i0/0 o0/0 fd 17/17 cfd -1)\r\n #5 X11 connection from 127.0.0.1 port 57566 (t4 r3 i0/0 o0/0 fd 18/18 cfd -1)\r\n #6 X11 connection from 127.0.0.1 port 57567 (t4 r4 i0/0 o0/0 fd 19/19 cfd -1)\r\n #7 X11 connection from 127.0.0.1 port 59007

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

谢谢你的帮助,

-麦克风

解决方法

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

ForwardX11Timeout 596h

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

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...