怎样保持SSH连接不自动断开?
一、前言
远程访问服务器的时候,长时间不操作就会断开连接,这让我苦恼不已,因此花了不少时间折腾,因为我用过的很多方法都无效,经过几番测试,找到了一种解决方案。
不过我只测试了Windows系统,其他系统暂不知道解决方案。
二、解决方案
-
创建【config】文件
- 在桌面打开控制台,运行命令【dir】,回车后会显示一堆文件,然后尝试找到名为【.ssh】的文件夹,好吧,一定会有,注意看。
- 快捷键【windows+E】打开资源管理器,然后找到控制台所在目录(比如我的是【C:\Users\33132】),打开【.ssh】文件夹
- 新建一个文件,名为【config】,该文件请不要添加任何后缀名
-
编辑配置文件
-
右击配置文件(config),选择用记事本打开
-
在基本中输入两条语句
cmdServerAliveInterval 60 ServerAliveCountMax 1440
-
然后使用快捷键【Ctrl+S】保存文件即可
-
三、配置解析
- ServerAliveInterval 60 :
- 这个参数定义了 SSH 客户端发送活动状态检测请求的间隔时间,单位为秒。
- 在此示例中,设置为 60 秒,表示每隔 60 秒 SSH 客户端将发送一个活动状态检测请求给服务器,以确保连接处于活动状态。
- 如果在 ServerAliveInterval 时间内没有从服务器收到任何响应,SSH 客户端会假定连接已经断开,并尝试重新连接或者执行其他操作,这取决于其他设置,比如 ServerAliveCountMax。
- ServerAliveCountMax 1440 :
- 这个参数定义了 SSH 客户端在多少次活动状态检测请求未收到响应后将终止连接。
- 在此示例中,设置为 1440,表示当 SSH 客户端发送了 1440 个活动状态检测请求,但都没有收到服务器的响应时,它将终止连接。
- 这个参数的设置可以避免持续保持无响应的连接,从而释放资源并确保连接的可靠性。
- 该配置可以保持24小时SSH连接,如果服务器端不主动断开的话;参数可以更改,请按照个人需求自行更改。
四、后话
现在是北京时间2024年3月22日晚21:57分,写完这篇文章觉得做事情不论如何是要效率的好。没效率的工作宁愿不做,千万不要尝试用时间等价交换知识,这交易本身就不可能平等。人不可能时时刻刻,保持巅峰状态,少花空时间,想尽一切办法提高效率(这是一个需要试错的过程),多做有意义的事吧!