如何在不积极使用SSH的情况下保持SSH连接的活动状态。当我使用它时,它可以正常工作,但是当我几分钟不使用它时,它会断开连接。每次连接时都会收到一封电子邮件,如何使SSH会话保持活动状态?
注意:在我的.ssh/config
文件顶部
Host *
ServerAliveInterval 3
但它似乎不起作用。
*
应该是所有人,不是吗?
如何在不积极使用SSH的情况下保持SSH连接的活动状态。当我使用它时,它可以正常工作,但是当我几分钟不使用它时,它会断开连接。每次连接时都会收到一封电子邮件,如何使SSH会话保持活动状态?
注意:在我的.ssh/config
文件顶部
Host *
ServerAliveInterval 3
但它似乎不起作用。
*
应该是所有人,不是吗?
Answers:
您需要指定发送数据包到服务器的尝试次数和间隔。您可以在.ssh/config
文件中放入以下行:
Host examplehost
Hostname examplehost.com
ServerAliveInterval 180
ServerAliveCountMax 2
这将每180秒(3分钟)向服务器发送一个数据包,并且在没有收到客户端响应后,它将尝试两次,直到关闭连接。
ServerAliveCountMax
,这可能是解决我的问题的原因。
在Linux和Apple Mac OS X操作系统上,该~/.ssh/config
文件使您可以指定许多SSH设置,包括使SSH连接保持活动状态的设置。为此,请按照下列步骤操作:
使用首选的文本编辑器~/.ssh/config
在本地计算机上打开文件。注意:如果.ssh
目录或配置文件不存在,请创建它们。
将以下行添加到配置文件。该主机值可以是任何你想要的名称; 它只是其他设置的标签。该主机名值是您要访问的远程主机; 用您的域名替换example.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
您也可以在ssh命令中添加这些参数,就像这样...
ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST