SSH超时问题不一致

我不确定是否有其他人有SSH超时的问题

我安装了一个CentOS 6.5最低限度的安装,而不用接触SSH congfig,当我通过使用putty的SSHlogin时,它永远不会超时。 我可以持续几个星期,即使闲置也不会超时

我安装了另一个新的insatll,没有触摸sshconfiguration,它每隔2分钟左右就超时

我的意思是为什么这样呢? SSH是否像硬币抛弃一样,对于某些服务器来说,比起其他服务器而言,即使使用相同的确切configuration,它也可能会更频繁地超时 任何人都经历过这个?

无论如何,我继续前进,并添加

ClientAliveInterval 60 

在服务器上,仍然得到超时问题

有人可以告诉我如何有一个CONSISTENT sshconfiguration,将完全禁用超时..这将100%的时间,如预期的那样工作?

谢谢

连接超时通常是由于数据包filter或NAT设备由于不活动而超时而造成的。 没有一个有关ssh设置的黄金法则。 很大程度上取决于您的系统和连接。 一般来说,您应该设置保持活动时间间隔值,使其小于连接超时所需的时间(通过系统中的连接表启动)。

您可以在服务器上将其设置为ClientAliveInterval或者在客户端上设置为ServerAliveInterval 。 该值是秒数。 如果将其设置得太高,ssh可能无法在连接断开之前发送消息。

您还应该增加服务器( ClientAliveCountMax )或客户端( ServerAliveCountMax )上的保持活动重试次数的最大值。 默认值是3。

这个计数意味着在断开连接之前,服务器/客户端将尝试从对方获得保持活动确认的次数。 假设您将ClientAliveInterval设置为60秒,并将ClientAliveCountMax为10.如果其中一方不响应连续10次保持活动查询,则连接将在10次尝试* 60秒后丢弃。 您可以尝试将此参数提高到更高的级别,例如100甚至9999(?)。

您也可以考虑closures客户端和服务器上的TCP保持活动数据包。

 TCPKeepAlive no 

这意味着如果路由暂时closures,连接将不会死亡。 但另一方面,如果存在通信问题,连接可能有时会挂起(尤其是如果将AliveCountMax设置为高值),因为在TCP级别上ssh不会检测到问题。

也可以看看:

  • OpenSSH FAQ
  • SSH客户端configuration
  • SSH服务器configuration