SSH 何时/为什么关闭连接?

SSH 何时/为什么关闭连接?

我有一台 CentOS 服务器,可以通过 SSH 从我的 Windows 笔记本电脑访问它,可以手动使用 Putty,也可以通过编程使用 Python Fabric 模块访问。

有时经过一段时间不活动后连接就会关闭。

我的主要问题是何时/为什么? 哪里有指定何时关闭 SSH 连接的设置? 如果未设置,则默认值是什么? 我只是想了解关闭连接的逻辑... 有时它似乎允许连接保持打开状态超过 12 小时不活动,而其他时候它似乎在约 30 分钟不活动后关闭连接。

第二个问题是,我是否有办法让 Putty 保持打开状态。现在,Putty 只是告诉我连接已关闭,并让我关闭窗口。我是否有办法让 Putty 重新启动连接,而不需要我关闭窗口并手动重新登录?

答案1

您可能已经设置了ClientAliveCountMax 0一些ClientAliveInterval选项sshd_config(或使用了一些默认值)。

将这些值设置为非零值应该允许服务器发送保持活动消息,以验证客户端仍然在响应。

客户端上应该有类似的选项(在 openssh 中调用)ServerAliveCountMaxServerAliveInterval)。

此行为也可以通过使用客户端选项TCPKeepAlive和服务器上的相同选项来实现,但默认情况下是启用的。

相关内容