SSH 断开连接问题 - TCP RST 数据包

SSH 断开连接问题 - TCP RST 数据包

我遇到了 SSH 断线问题,断线是随机发生的。有时,它工作正常,有时我经常断线。断线后,我可以再次重新连接并继续工作。

客户端与目标服务器之间的 ssh 连接流程如下:

  Client (C1)   ->   Intermediate Server (I)   -> Destination Server (R1)
(Windows/Linux) -> (Linux + OpenVPN/IPTables)  ->         (Linux)    

C1从客户端到目标服务器的路由R1总是通过中间服务器进行I

使用 Wireshark,每当我遇到断线问题时,我都可以看到收到的 RST 数据包。每当我遇到断线问题时,Wireshark 日志都会C1显示R1正在发送 RST tcp 数据包。

什么原因导致了这个问题?

答案1

无需深入研究您的具体问题,我发现这些配置行已经为我解决了类似的问题:

ClientAliveInterval 150
ClientAliveCountMax 10

它解决了由于链接延迟或不稳定而导致的断开连接问题。我并不是说这些值是完美的,但到目前为止它们对我来说是有效的。

答案2

打开 keepalive。将以下行添加到您的 .ssh/config:

ServerAliveInterval 60

相关内容