设置ssh心跳以避免掉线及故障自动断开连接
在网络质量不佳时,ssh在一段时间无数据发送时容易掉线。在客户端或服务端添加心跳间隔,主动发送心跳,可在一定程度缓解这一情况。同时可根据心跳无效次数自动断开连接,防止因网络问题造成已登录用户锁死服务器上的资源。
服务端和客户端都可以配置心跳,保持连接。
服务端可在/etc/ssh/sshd_config中添加:
ClientAliveInterval 3
ClientAliveCountMax 30
即每3秒主动向客户端发送一次心跳,当连续30次失败时自动断开客户端连接。
客户端可在/etc/ssh/ssh_config中添加:
ServerAliveInterval 5
ServerAliveCountMax 30
即每5秒向服务端发送一次心跳,当连续30次失败时自动断开客户端连接。
建议将客户端和服务端的心跳间隔设置为互质的值,可以提高一段时间内的平均网络占用次数,缓解因网络问题导致的ssh掉线的情况。