40
云服务器解决SSH远程链接超时断开的方法

使用SSH登陆连接Linux服务器的时候,如果一段时间没有操作,服务器会自动断开与客户端的连接,这样重新登录就会比较麻烦,经过查找资料,找到三种方案供大家参考。

第一种是修改服务器配置文件/etc/ssh/sshd_config,在配置文件里加入下面三行:

TCPKeepAlive yesClientAliveInterval 60ClientAliveCountMax 20

以上设置,是让sshd服务每间隔60秒向客户端发送keepalive报文以保持连接,直到连续20次没有收到keepalive回应,才断开与客户端的连接。其实为这几行配置在原文件里都有,只是前面有#号没有生效,可以把这几行前面的注释符号#去掉,然后改一下数字就好了。修改完成以后,需要重新启用ssh服务才能生效。

第二种是在客户端这边配置,根据你使用的不同客户端,可以做相应的设置:

securecrt的设置方法:会话选项 –> 终端 –> 反空闲–>选中发送协议 NO-OP(p) 每 60 秒

putty的设置方法:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0, 改为60
MobaXterm的设置方法:setting>SSH>sessions setting>勾选ssh Keepalive

第三种,如果你昌直接使用命令行的SSH客户端直接登录远程服务器,还可以修改SSH客户端的配置文件,一般是在全局配置文件/etc/ssh/ssh_config或者用户级配置文件~/.ssh/config里,加入以下代码:

TCPKeepAlive yesServerAliveInterval 60ServerAliveCountMax 20

或者每次使用ssh连接到服务器的时候手动加上参数,格式如下:

ssh -o ServerAliveInterval=60 username@server-ip


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!