解决ssh经常掉线不稳定的情况
修改服务端的/etc/ssh/sshd_config配置文件,找到下面两行
#ClientAliveInterval 0
#ClientAliveCountMax 3
去掉注释#,改成
ClientAliveInterval 10
ClientAliveCountMax 10
这两行的意思分别是:
1、参数表示如果服务器连续N秒没有收到来自客户端的数据包,则服务器会向客户端发送一条消息。
2、表示如果服务器发送了N次数据到客户端都没有收到回应时,就会认为连接已经断开,服务器会结束会话、关闭监听的端口。
上述配置表示,如果服务器连续10秒没有收到客户端的数据,就会主动发送数据给客户端。连续发送了10次数据到客户端,都没有收到回复就断开连接。这意味着,网络断开后的最长100秒内,服务器就会关闭ssh会话。
重启sshd服务,systemctl resatrt sshd
经过上述配置后,一个稳定的ssh端口转发连接就建立起来了(已经经过数月的实际测试,断线后会自动重连)。