如何保持 SSH 连接活跃?

如何保持 SSH 连接活跃?

如何在不主动使用 SSH 连接的情况下保持连接处于活动状态。当我使用它时,它工作正常,但是当我几分钟不使用它时,它就会断开连接。由于每次连接时我都会收到一封电子邮件,我如何才能保持 SSH 会话处于活动状态?

注意:在我的.ssh/config文件中,在顶部我有

Host *
ServerAliveInterval 3

但它似乎不起作用。

答案1

您需要指定尝试的次数和向服务器发送数据包的间隔。您可以在文件中放入以下几行.ssh/config

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

这将每 180 秒(3 分钟)向服务器发送一个数据包,并且在未收到客户端的响应后尝试两次,然后关闭连接。

答案2

您还可以在 ssh 命令中添加这些参数,如下所示...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST

答案3

在 Linux 和 Apple Mac OS X 操作系统上,该~/.ssh/config文件允许您指定许多 SSH 设置,包括保持 SSH 连接的设置。为此,请按照以下步骤操作:

  1. ~/.ssh/config使用您喜欢的文本编辑器在本地计算机上打开该文件。注意:如果.ssh目录或配置文件不存在,请创建它们。

  2. 将以下行添加到配置文件中。主持人值可以是您想要的任何名称;它只是其他设置的标签。主机名值是您要访问的远程主机;替换示例.com替换为您的域名。用户名使用您自己的托管帐户用户名:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

使用此配置,SSH 客户端每 240 秒(4 分钟)向服务器发送一个数据包以保持连接有效。如果客户端在两次尝试后未收到响应(由 ServerAliveCountMax 设置指定),它将关闭连接。

有关所有可用 SSH 配置设置的详细信息,请man ssh_config在命令行中输入。

  1. 将更改保存到配置文件。

  2. 使用 SSH 连接到您的帐户。为此,只需输入 ssh example,其中 example 代表您在步骤 2 中指定的主机值。

监控连接。如果仍然断开,请逐渐降低ServerAliveInterval配置文件中的设置,直到连接稳定。

查看以下网址了解更多详情https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive

相关内容