如何在不主动使用 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 连接的设置。为此,请按照以下步骤操作:
~/.ssh/config
使用您喜欢的文本编辑器在本地计算机上打开该文件。注意:如果.ssh
目录或配置文件不存在,请创建它们。将以下行添加到配置文件中。主持人值可以是您想要的任何名称;它只是其他设置的标签。主机名值是您要访问的远程主机;替换示例.com替换为您的域名。用户名使用您自己的托管帐户用户名:
Host example
Hostname example.com
Port 7822
User username
ServerAliveInterval 240
ServerAliveCountMax 2
使用此配置,SSH 客户端每 240 秒(4 分钟)向服务器发送一个数据包以保持连接有效。如果客户端在两次尝试后未收到响应(由 ServerAliveCountMax 设置指定),它将关闭连接。
有关所有可用 SSH 配置设置的详细信息,请man ssh_config
在命令行中输入。
将更改保存到配置文件。
使用 SSH 连接到您的帐户。为此,只需输入 ssh example,其中 example 代表您在步骤 2 中指定的主机值。
监控连接。如果仍然断开,请逐渐降低ServerAliveInterval
配置文件中的设置,直到连接稳定。
查看以下网址了解更多详情https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive