SSH 连接几分钟未使用后就会冻结吗?

SSH 连接几分钟未使用后就会冻结吗?

我运行的是带有 Raspbian 操作系统的 RaspberryPi。我安装了 WLAN 棒,并仅通过 WLAN 将 RaspberryPi 连接到我的网络。

我可以使用

ssh pi@pi-ip-address

一切正常,但几秒或几分钟未使用后,连接就会冻结。这意味着我无法再在终端中输入内容。需要一段时间才能使用相同的连接并继续使用它,而无需创建新连接。

当我做

ping pi-ip-address

连接冻结后,无法通过 ping 连接。大约需要一分钟左右才能 ping 成功,然后我才能继续使用 SSH 连接到 Pi。

导致此问题的原因是什么?如何解决?如何保证 SSH 连接稳定,短时间不使用时不会中断?

编辑:当我想通过 http 访问 raspberryPi 时也会出现类似的问题。pi 需要一段时间才能响应。

答案1

  1. 如果您将其添加TCPKeepAlive yes到您的 ssh_config 或 sshd_config 中,那么它将永远不会超时。

  2. 如果您想在失去与服务器的连接之前设置一段时间,那么在您的$HOME/.ssh/config或您的/etc/ssh/ssh_config(在 Mac 上是/etc/ssh_config)中添加ServerAliveCountMax 0ServerAliveInterval <How ever many seconds you want it to stay alive for>

  3. 如果你想在你的 ssh 客户端闲置时间过长时强制它们离开你的服务器,那么进入你的服务器并转到/etc/ssh/sshd_config(在 Mac 上是/etc/sshd_configClientAliveCountMax 0ClientAliveInterval <How ever many seconds you want it to stay alive for> 记住该选项将覆盖上面的第二个选项。

    • ssh 和 sshd 的 TCPKeepAlive 是/否
    • sshd 的 ClientAliveCountMax
    • sshd 的 ClientAliveInterval
    • ssh 的 ServerAliveCountMax
    • ssh 的 ServerAliveInterval

相关内容