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

我有一个SSH断开连接问题,断开随机发生。 有时候,它可以正常工作,而且有时我经常断开连接。 断开连接后,我可以重新连接并继续工作。

客户端到目标服务器之间的ssh连接的stream程是这样的:

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

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

使用Wireshark,只要有断开连接的问题,我就能看到RST包。 WiresharkloginC1显示, R1在发生断开连接问题时正在发送RST TCP包。

什么可能导致这个问题?

没有深入研究您的特定问题,我发现这些configuration行已经为我解决了类似的问题:

 ClientAliveInterval 150 ClientAliveCountMax 10 

它可以解决由于延迟或震荡链路而导致的断开连接。 我并不是说这些都是完美的价值,但是迄今为止他们已经为我工作了。

打开Keepalive。 将以下行添加到.ssh / config:

 ServerAliveInterval 60