SSH无操作自动掉线解决方法
解决思路有两种,一种是通过本地端向服务器端发送心跳包,另一种是服务器端向本地端发送心跳包。
第一种,在本地端设置
在 windows 下以 Secure CRT 为例
在 Session Opinion 对话框中找到 Terminal 项,又有一个 Anti-idle 的 box,里面有两种方案,一种是每隔多少秒发送一个字符串,另一个是发送 NO-OP 指令(也就是空指令)。
不过这种方法我没试过 hhhh。
在 Linux 下
打开 ssh 客户端配置文件
1 | sudo vim /etc/ssh/ssh_config |
找到如下代码消去注释符号,并且调整参数
1 | ServerAliveInterval 20 |
含义是:每隔 20 秒向服务器发送一个心跳包,如果 999 次都失败,则断开连接 这种方法我也没试过 hhhh。
第二种,在服务器端设置
打开 ssh 服务端配置文件
1 | sudo vim /etc/ssh/sshd_config |
找到如下代码消去注释符号,并且调整参数
1 | ClientAliveInterval 120 |
含义是:每隔 120 秒向客户端发一个心跳包,如果 10 次都失败,则断开连接 注意:在配置完以后不要直接关闭这个 SSH 连接,而是需要再打开一个 SSH 进行验证,以免配置错误导致 SSH 连接不到,那就麻烦了 我现在使用的就是这种方法,测试了几个小时,SSH 依旧保持连接。
相关文章