zzxworld

让 SSH 保持登录连接

在使用 SSH 远程连接并登陆 Linux 服务器后,如果空闲几分钟没操作,会发现无法再进行任何操作,因为连接已经中断了。如果不希望出现这样的情况,可以使用两条 SSH 配置来保持连接状态。

SSH 保持连接的配置有两种设置方式:在客户端(也就是自己当前操作的电脑)设置,或是在服务器端设置。两种方式只需要选择一种。其区别就是如果设置在客户端,之后连接任何服务器时都会自动保持连接状态。如果设置在服务器端,那么任意客户端连接该服务器时都能一直保持连接状态。

在客户端设置的方法是编辑本地操作电脑上的 /etc/ssh/ssh_config 文件,添加下面类似的配置项:

Host *
  ServerAliveInterval 60
  ServerAliveCountMax 10

ServerAliveInterval 表示每隔 60 秒向服务器发送一次「心跳」请求,以防止进入「空闲」状态而被中断连接。ServerAliveCountMax 是当请求异常时的重试次数。上面的设置表示只重试 10 次。

如果选择在服务器端设置,需要先登陆到服务器。然后修改服务器上的 /etc/ssh/sshd_config 文件。配置项的命名略有差异:

Host *
  ClientAliveInterval 60
  ClientAliveCountMax 10

可以看到,配置项的前缀由 Server 变成了 Client。这是使用时需要注意的。

PS: 如果留意到本文的地址,会发现跟之前本站发表的文章有了些区别。而且文章的长度相比之前也短了一些。这是本站推出的一个新栏目,用来记录一些专一问题的解决方案。目前栏目名称还在思考中,也许等多发布几篇类似的内容后才会有灵感。