有没有办法阻止 SSH 连接超时?

有没有办法阻止 SSH 连接超时?

当我在家里使用 Linux 服务器并从 Internet 访问它时,我可以根据需要通过 SSH 连接保持终端窗口打开。然而,当我在 AWS 或 Oracle 云等云服务上使用 Linux 服务器时,我的终端总是在闲置几分钟后冻结。这让我很困扰,因为很多时候我仍在研究我正在做的主题,然后当我回来时我与云的 SSH 连接被冻结。这导致我必须关闭终端并重新打开与新终端的连接,然后再次重新打开所有内容,所以我最终在白天花费了大量时间。我查看了文件/etc/ssh/sshd_config是否可以找到与连接超时相关的任何内容以了解发生这种情况的原因,但我没有找到任何内容。

另外,我还发现这个问题在 Unix Exchange 上这似乎相关。根据接受的答案,如果我-o TCPKeepAlive=true在连接时使用该参数ssh,这个问题就会得到解决。就我而言,它根本没有解决问题,连接在空闲一段时间后仍然冻结,我使用的命令如下所示:

ssh -i myprivatekey -o TCPKeepAlive=true user@serverip

我可以更改计算机或服务器上的任何配置来解决此问题吗?如何让 SSH 连接闲置一段时间后停止冻结?

答案1

尝试传递-o ServerAliveInterval=20,它会定期发送一些戳数据作为 ssh 协议的一部分,可能有助于解决您的问题。

此外,您可能想在会话中使用tmuxscreen终端多路复用器ssh,因此只需在重新连接时重新连接会话即可,而不必重新开始一切

相关内容