为什么 ssh 经常会断开连接并显示‘连接被对方​​重置’?

为什么 ssh 经常会断开连接并显示‘连接被对方​​重置’?

为什么我家里的互联网比办公室互联网更频繁地出现‘对端重置连接’ SSH 断开连接的情况?

多年来,我一直在断断续续地研究这个问题,但这个网站和谷歌上的其他问题和答案都对我没有帮助。

以下是我的网络状况良好时发生断开连接的实际示例:

从远程主机 examplehost.com 读取:对等方重置连接

与 examplehost.com 的连接已关闭。

我已经对 SSH/SSHD 配置等进行了全部检查,包括诸如ServerAliveInterval、、ServerAliveCountMax之类的TCPKeepAlive深奥建议,例如启用/禁用GSSAPIAuthentication相关设置。

所有系统都是CentOS服务器。

我通过 ssh 从办公室和家里连接到相同的服务器。我自己在两个地方设置路由器。办公室路由器是小型办公室级 DSR-250N,而我的家庭路由器是家庭级 D-Link DIR-655。

可能感兴趣:我使用 VPN,有趣的是,只要 VPN 保持运行(几天到几周),通过 VPN 的 SSH 连接似乎就能保持运行。

这种情况已经持续好几年了,所以我现在怀疑这与路由器限制有关,而不是与谁提供互联网有关,但我不确定家用路由器可能存在哪些限制,以及在新路由器中需要寻找什么才能确保这些问题至少显着减少。

也许是路由器内存,也许是我在某些路由器上看到的“会话限制”规格之类的东西,等等?

如果问题仅仅出在我的相对低端路由器上(尽管我认为对于家用路由器来说它属于中高端),我会很满意。

答案1

问题出在路由器上。将路由器 (DIR-655) 换成 DSR-250N 后,我的网络已经连续一周保持 100% 正常运行,这在过去几年里是闻所未闻的。因此,我将此标记为答案。我想,有时只需换一个路由器就可以了。


更新 2018-04-20:自从我于 2017 年 7 月更换路由器以来,路由器一直非常稳定。虽然不是完美无缺,但例如,我的 SSH 会话一次可以保持一到两周,而之前它们经常在一小时内崩溃。我怀疑我的一些断开连接甚至是由于 ISP 而不是路由器造成的。

答案2

编辑:这个方法比我预期的要有效,但也比配置的要早退出。我有一个 ping 服务器在监视我的互联网连接,看起来没有出现任何互联网连接问题。所以不能说这是解决办法。


在尝试了 、 、、和TCPKeepAlive的无数种客户端和服务器端变体组合后,我将客户端和服务器都同步到以下设置:ServerAliveIntervalServerAliveCountMaxClientAliveIntervalClientAliveCountMax

客户:

TCPKeepAlive no
ServerAliveInterval 60
ServerAliveCountMax 525600

服务器:

TCPKeepAlive no
ClientAliveInterval 60
ClientAliveCountMax 525600

我跑了一整天(交叉手指) 在此期间,我完全预料到自己会频繁且快速地断线。

请注意,我的AliveCountMax值大得令人怀疑,您应该进行调整以满足您的需要。

答案3

我的 Netgear XR500 游戏路由器也遇到了同样的情况。

我与他们的技术支持人员进行了交谈,他们从未听说过这样的事情。

我们刷新了固件并恢复出厂设置,情况好多了。我非常惊讶这个方法竟然有效。

这让我想对我的旧路由器做同样的事情,看看它的表现如何。

相关内容