SSH 连接在一段时间内没有活动时可能会自动断开。这通常是由于客户端或服务器端的超时设置导致的。以下是一些建议,可以帮助您防止 SSH 连接在未操作时断开。
客户端设置:
对于客户端,您可以在 SSH 配置文件(通常为 ~/.ssh/config)中启用 "TCPKeepAlive" 和 "ServerAliveInterval" 选项。如果配置文件不存在,您可以创建一个。
将以下内容添加到配置文件:
bash
Host *
TCPKeepAlive yes
ServerAliveInterval 60
ServerAliveInterval 60
这些设置的含义如下:
TCPKeepAlive:此选项用于启用 TCP 层的 keep-alive 消息。将其设置为 "yes" 可以帮助保持连接。
ServerAliveInterval:此选项表示客户端在多少秒后向服务器发送 keep-alive 消息。在此示例中,我们设置为每 60 秒发送一次。
保存更改后,下次启动 SSH 连接时,这些设置将生效。
服务器端设置:
对于服务器端,您可以在 SSH 守护进程的配置文件(通常为 /etc/ssh/sshd_config)中启用 "TCPKeepAlive" 和 "ClientAliveInterval" 选项。
将以下内容添加到配置文件:
bash
TCPKeepAlive yes
ClientAliveInterval 60
这些设置的含义如下:
TCPKeepAlive:与客户端设置中的含义相同,启用 TCP 层的 keep-alive 消息。
ClientAliveInterval:此选项表示服务器在多少秒后向客户端发送 keep-alive 消息。在此示例中,我们设置为每 60 秒发送一次。
保存更改后,重启 SSH 守护进程(例如,使用 sudo systemctl restart sshd)以应用新设置。
这些设置应有助于保持 SSH 连接活动,防止因未操作而断开。