Mac 上的 ssh 突然停止工作

Mac 上的 ssh 突然停止工作

每天我醒来都会检查我的服务器是否运行顺畅,我使用我的 Mac 连接一些 ubuntu 和一些 freebsd 机器。

但是今天当我尝试时发生了一些奇怪的事情:

$ ssh -v -p 41900 someserver.com
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to someserver.com [95.166.12.75] port 41900.
debug1: Connection established.
debug1: identity file /Users/someuser/.ssh/identity type -1
debug1: identity file /Users/someuser/.ssh/id_rsa type -1
debug1: identity file /Users/someuser/.ssh/id_dsa type 2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503
debug1: match: OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '[someserver.com]:41900' is known and matches the RSA host key.
debug1: Found key in /Users/someuser/.ssh/known_hosts:3
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/someuser/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /Users/someuser/.ssh/identity
debug1: Trying private key: /Users/someuser/.ssh/id_rsa
debug1: Next authentication method: keyboard-interactive
Password:
debug1: Authentication succeeded (keyboard-interactive).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.

现在连接只是挂起,什么也没有发生——直到几分钟后超时并关闭。

[更新]

在尝试将笔记本电脑放入包中并连接到另一个网络后,我开始相信这是一个网络问题,而当我发现我的 ISP 已经破产时,我的直觉得到了证实。

然而,这又引发了一个新问题,因为我尝试使用 vpn 登录到另一个网络,但出现了同样的问题,有人能解释一下一个网络上的路由问题会如何影响 vpn 连接吗——否则运行正常吗?

有人能告诉我我的 ssh 客户端出了什么问题吗?甚至能告诉我如何修复它吗?

答案1

这更可能是服务器问题,而不是客户端问题。连接已建立并经过身份验证,客户端现在正在等待服务器启动会话(我认为这意味着sshd为用户分叉一个进程并启动用户的 shell)。这可能是由于服务器承受某种负载(例如内存和磁盘 IO)造成的。

检查服务器提供的其他服务是否正常运行——这可以确认服务器存在问题。还可以尝试从另一个网络位置进行连接,以排除奇怪的网络问题。

编辑:所以这是客户端网络问题。我见过的大多数连接最初可以工作但后来挂起的问题都是由以下原因引起的:最大传输单元问题——初始数据包(本例中为 SSH 协商)足够小,可以通过,但当发送实际数据(如绘制终端窗口)时,数据包太大,会被丢弃。尝试减少客户端的 MTU 并重试。

答案2

检查一下http://www.openssh.com/txt/release-5.1

  • 添加了一个[电子邮件保护]当客户端知道它永远不会请求另一个会话时(即禁用会话多路复用时),从 ssh(1) 发送到 sshd(8) 的全局请求扩展。这允许服务器在客户端被劫持的情况下禁止进一步的会话请求并终止会话。

相关内容