我运行的是带有 Raspbian 操作系统的 RaspberryPi。我安装了 WLAN 棒,并仅通过 WLAN 将 RaspberryPi 连接到我的网络。
我可以使用
ssh pi@pi-ip-address
一切正常,但几秒或几分钟未使用后,连接就会冻结。这意味着我无法再在终端中输入内容。需要一段时间才能使用相同的连接并继续使用它,而无需创建新连接。
当我做
ping pi-ip-address
连接冻结后,无法通过 ping 连接。大约需要一分钟左右才能 ping 成功,然后我才能继续使用 SSH 连接到 Pi。
导致此问题的原因是什么?如何解决?如何保证 SSH 连接稳定,短时间不使用时不会中断?
编辑:当我想通过 http 访问 raspberryPi 时也会出现类似的问题。pi 需要一段时间才能响应。
答案1
如果您将其添加
TCPKeepAlive yes
到您的 ssh_config 或 sshd_config 中,那么它将永远不会超时。如果您想在失去与服务器的连接之前设置一段时间,那么在您的
$HOME/.ssh/config
或您的/etc/ssh/ssh_config
(在 Mac 上是/etc/ssh_config
)中添加ServerAliveCountMax 0
和ServerAliveInterval <How ever many seconds you want it to stay alive for>
。如果你想在你的 ssh 客户端闲置时间过长时强制它们离开你的服务器,那么进入你的服务器并转到
/etc/ssh/sshd_config
(在 Mac 上是/etc/sshd_config
)ClientAliveCountMax 0
并ClientAliveInterval <How ever many seconds you want it to stay alive for>
记住该选项将覆盖上面的第二个选项。- ssh 和 sshd 的 TCPKeepAlive 是/否
- sshd 的 ClientAliveCountMax
- sshd 的 ClientAliveInterval
- ssh 的 ServerAliveCountMax
- ssh 的 ServerAliveInterval