我遇到了挂在Mac Book Pro上的SSH问题。在我上班后使用SSH后,一旦下班回家,这种情况就发生了。我将问题缩小到的三个因素是SSH,我们的工作AFS网络驱动器和网络连接方法。
在工作中,我们使用带有Kerberos身份验证的AFS驱动器来完成我们所有的软件开发工作。我使用Kerberos进行身份验证,以便访问我所有源代码所在的AFS驱动器,但是我打开了一个引用AFS驱动器上的文件的本地编辑器(Eclipse)。每当我需要编译我的代码时,我都会通过SSH连接到我的开发服务器(它也通过AFS驱动器进行身份验证)并从那里进行编译。 (理智注意:我知道这是一个超级古怪的设置,但我保证我没有用它。我只是在做我已经拥有的东西。)
对于我的网络偏好设置,我始终使用自动位置。对于那种配置,我有内置以太网en1配置为使用DHCP和我们公司的DNS服务器,当我在工作时(没有无线可用)。当我回家时,我再次通过无线连接到我的家庭网络。
我有一种预感,AFS连接/以太网配置在某种程度上是罪魁祸首。重新启动SSH守护程序不能解决问题。我发现纠正问题的唯一方法是每次我想使用SSH时重新启动计算机。请记住,在笔记本电脑上班后,我在家里没有其他(已知的)网络问题。
我有一位同事在他的MBP上向我报告了同样的问题。
我真的很难过这个。请提供一些指导。谢谢!
答案 0 :(得分: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客户端。
答案 1 :(得分:1)
我的问题的解决方法似乎是删除我在工作时有效的Kerberos令牌,但在家时无效。希望这可以帮助任何有类似问题的人。
答案 2 :(得分:0)
在黑暗中拍摄: 我最近在安装Rogue Amoeba Audio Hijack Pro后使用ssh时遇到了问题。 我只能使用ssh作为超级用户(sudo)。 2.8.1的更新解决了这个问题......
此问题另请参阅http://www.macobserver.com/article/2008/03/19.8.shtml。