Ssh长时间不操作自动断线怎么解决
在连接远程SSH服务的时候,经常会发生长时间后的断线,或者无响应(无法在键盘输入)。 总体来说有两个方法:客户端发送心跳,服务端发送心跳。 服务端发送心跳更保险一劳永逸。
1 客户端定时发送心跳。
putty、SecureCRT、XShell都有这个功能,但是并不保险。
此外在Linux下,可以编辑本地机器的/etc/ssh/ssh_config文件,增加:
ServerAliveInterval 20
ServerAliveCountMax 999
即每隔20秒,向服务器发出一次心跳。 若超过999次请求,都没有发送成功,则会主动断开与服务器端的连接。
2 服务器端发送心跳。
编辑服务器的/etc/ssh/sshd_config文件, 添加:
ClientAliveInterval 30
ClientAliveCountMax 6
ClientAliveInterval表示每隔多少秒,服务器端向客户端发送心跳。
ClientAliveInterval表示上述多少次心跳无响应之后,会认为Client已经断开。
所以,总共允许无响应的时间是60*3=180秒。
修改sshd_config文件后,需要重启sshd服务
service sshd restart
或
systemctl restart sshd