从 Mac (10.7.2) 登录到 Linux (Ubuntu 8.04) 时,ssh 转发我的 X11 连接时遇到了一个令人烦恼的新问题。我使用 ssh -X 登录到远程机器并从该 shell 启动基于 X11 的应用程序没有问题。
最近开始发生的事情是,在一段时间后(大约几个小时),来自同一个 shell 的 X11 应用程序的其他调用无法启动,因为转发的显示被阻止(我认为)。例如,在尝试启动 xterm 时,我收到有关错误 DISPLAY 设置的常见消息,例如:
xterm Xt 错误:无法打开显示:本地主机: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 服务器,显示转发到运行 Lion (10.7.2) 的 Mac,使用默认的 Apple X 服务器。这些系统连接在以太网 LAN 上,它们之间只有一个交换机。两台机器都没有运行防火墙。直到最近(几天前),这个设置才完美运行,所以我不知道下一步该往哪里看。我绝不是 X11 或 SSH 专家,但具有良好的 UNIX/Linux 经验。在客户端或服务器配置中没有任何明显的变化,尽管我尝试更改一些选项来尝试调试它,例如将 sshd_config 的 TCPKeepAlive 设置为 no,并设置“host …