解决ssh一段时间后自动断开
mnsd

SSH 长时间空闲后自动断开,通常是因为中间网络设备、服务端配置或客户端配置主动关闭了空闲连接。比较稳的处理方式是开启心跳,让连接定期发送少量数据。

从客户端解决

通过客户端向服务端ssh间歇发送心跳

1
sudo vim /etc/ssh/ssh_config
1
2
ServerAliveInterval 30 # 每隔30秒向服务端发送一次心跳
ServerAliveCountMax 6 # 当连续6次发送失败时断开连接

从服务端解决

通过服务端ssh不断向客户端发送心跳

1
sudo vim /etc/ssh/sshd_config
1
2
ClientAliveInterval 30 # 每隔30秒向客户端发送一次心跳
ClientAliveCountMax 6 # 当连续6次发送失败时断开连接

修改服务端配置后需要重启 sshd:

1
sudo systemctl restart sshd

当前用户单独配置

如果不想修改全局配置,可以只修改当前用户的 SSH 配置:

1
2
mkdir -p ~/.ssh
vim ~/.ssh/config

添加:

1
2
3
Host *
ServerAliveInterval 30
ServerAliveCountMax 6

这种方式只影响当前用户发起的 SSH 连接,适合个人电脑使用。

 评论
评论插件加载失败
正在加载评论插件