SSH 连接断开通常是由于网络不稳定或者长时间没有活动导致的。为了防止 SSH 连接断开,您可以在客户端或者服务器端设置一些配置来保持连接活跃。以下是一些常用的方法:
在客户端设置 SSH 保活选项
您可以在 SSH 客户端的配置文件中设置保活选项,以防止连接因为长时间无活动而断开。这通常在客户端的 ~/.ssh/config
文件中设置:
Host *
ServerAliveInterval 60
ServerAliveCountMax 120
ServerAliveInterval
:指定客户端向服务器发送空闲包的时间间隔(秒)。例如,60
表示每 60 秒发送一次。ServerAliveCountMax
:在没有收到任何服务器响应的情况下,客户端发送保活包的最大次数。120
意味着在没有响应的情况下最多发送 120 次。
在服务器端设置 SSH 保活选项
同样,您也可以在 SSH 服务器端设置保活选项,来防止客户端连接由于超时而断开。在服务器的 SSH 配置文件 /etc/ssh/sshd_config
中设置:
ClientAliveInterval 60
ClientAliveCountMax 120
ClientAliveInterval
:服务器向客户端发送请求的时间间隔(秒),用于检查客户端是否仍然连接。ClientAliveCountMax
:在没有收到客户端响应的情况下,服务器尝试发送请求的最大次数。
修改服务器配置后,需要重启 SSH 服务以使配置生效:
sudo systemctl restart sshd
使用 tmux 或 screen 会话
使用 tmux
或 screen
可以在连接断开后保持您的工作会话。即使 SSH 连接断开,您也可以重新连接到同一个 tmux
或 screen
会话,继续之前的工作。
安装 tmux
或 screen
(取决于您的系统):
sudo apt install tmux # 对于 Ubuntu/Debian
sudo yum install tmux # 对于 CentOS/RHEL
开始一个新会话:
tmux
如果连接断开,您可以重新连接:
tmux attach
注意事项
- 长时间保持 SSH 连接可能会有安全风险,特别是在公共或不受信任的网络中。
- 确保您有足够的权限来修改 SSH 配置文件。
- 在修改服务器配置时,谨慎操作,错误的配置可能会导致无法通过 SSH 连接到服务器。
通过上述方法,您可以有效地防止 SSH 连接因为长时间无活动而断开,提高远程工作的连续性和便捷性。
来源:https://blog.csdn.net/m0_57236802/article/details/134729088