3

我的 Mac Book Pro 上挂起 SSH 时遇到问题。这只有在我在工作时使用 SSH 后下班回家后才会发生。我将问题缩小到的三个因素是 SSH、我们的工作 AFS 网络驱动器和网络连接方法。

在工作中,我们使用带有 Kerberos 身份验证的 AFS 驱动器来完成我们所有的软件开发工作。我使用 Kerberos 进行身份验证,以便访问我所有源代码所在的 AFS 驱动器,但我打开了一个本地编辑器 (Eclipse),它引用了 AFS 驱动器上的文件。每当我需要编译我的代码时,我都会通过 SSH 连接到我的开发服务器(它也通过了 AFS 驱动器的身份验证)并从那里编译。(理智提示:我知道这是一个超级古怪的设置,但我保证我与它没有任何关系。我只是利用我所拥有的。)

对于我的网络首选项,我一直使用自动位置。对于该配置,我将内置以太网 en1 配置为在工作时使用 DHCP 和我们公司的 DNS 服务器(没有可用的无线网络)。当我回家时,我通过无线连接到我的家庭网络,再次使用 DHCP。

我有一种预感,AFS 连接/以太网配置是这里的罪魁祸首。重新启动 SSH 守护程序并不能解决问题。我发现解决此问题的唯一方法是每次我想使用 SSH 时重新启动计算机。请记住,当我在工作中使用笔记本电脑后,在家时我没有其他(已知的)网络问题。

我有一位同事在他的 MBP 上向我报告了同样的问题。

我真的被这个难住了。请提供一些指导。谢谢!

4

3 回答 3

3

您能否更具体地了解“SSH 挂起”?

听起来您的 ssh客户端在失去连接后挂起,您无法在终端中执行任何操作。为了解决这个问题,您可以使用 ssh 转义字符(默认值:'~')开始转义序列,并使用 '.' 终止连接。

您可以使用 ~? 获取其他 ssh 转义序列的列表,这是 OpenSSH SSH 客户端的列表:

Supported escape sequences:
~.  - terminate connection
~B  - send a BREAK to the remote system
~C  - open a command line
~R  - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~#  - list forwarded connections
~&  - background ssh (when waiting for connections to terminate)
~?  - this message
~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

如果键入〜。不起作用,可能是您禁用了转义字符,在这种情况下您可以输入

EscapeChar ~

~/.ssh/config/etc/ssh_config内

即使转义字符被禁用,您也可以简单地拉出另一个终端窗口并键入

killall ssh

结束所有正在运行的 ssh 进程,允许您再次连接。

重新启动 SSH 守护程序不会解决此问题,因为 sshd 允许其他客户端连接到您的机器,并且不会影响您的 ssh 客户端连接到其他机器。

于 2008-12-04T06:47:22.960 回答
1

看来我的问题的解决方法是删除我在工作时有效但在家时无效的 Kerberos 令牌。希望这可以帮助任何有类似问题的人。

于 2009-04-10T20:08:07.560 回答
0

只是在黑暗中拍摄:我最近在安装 Rogue Amoeba Audio Hijack Pro 后使用 ssh 时遇到了问题。我只能将 ssh 用作超级用户(sudo)。对 2.8.1 的更新解决了该问题...

有关该问题,另请参见http://www.macobserver.com/article/2008/03/19.8.shtml

于 2008-11-28T08:09:24.027 回答