知方号

知方号

如何增加 SSH 连接超时

如何增加 SSH 连接超时

如果用户连接到远程服务器后长时间处于不活动状态,则必须使用 SSH 重新连接服务器。如果用户一段时间没有进行任何活动,服务器的连接将重置。出于安全目的,这是必要的。但是,当用户尝试在服务器上执行任何需要很长时间才能完成的任务时,用户将需要在一定时间后登录多次。有时这会让用户非常恼火。用户会要求增加SSH连接超时时间来解决这个问题;可以通过两种方式完成。一种方法是在服务器配置文件中设置 keep-alive 选项,另一种方法是在客户端配置文件中设置 keep-alive 选项。本教程中已对这两种方法进行了说明。

先决条件:

在开始本教程的步骤之前,需要完成以下步骤。

如果之前没有启用Ubuntu上的SSH服务,请启用它。

生成 SSH 密钥对以在远程服务器中执行命令。运行以下命令创建公钥和私钥。私钥将存储在远程服务器中,公钥将安全地存储在客户端中。

$ ssh-keygen -t rsa

运行以下命令,使用nano编辑器打开sshd_config文件,添加一些必要的配置。

$ sudo nano /etc/ssh/sshd_config

在文件中添加以下行以启用 root 登录和基于密码的身份验证。

PasswordAuthentication yesPermitRootLogin yes

执行以下命令,重启SSH服务。

$ sudo service ssh restart在服务器配置文件中设置保持活动选项:

增加 SSH 连接超时的一种方法是修改服务器计算机的配置文件。但这不是一种安全的方法,因为此设置将适用于将与服务器计算机连接的所有客户端计算机。因此,增加 SSH 连接的替代方法是一个更好的选择,本教程的下一部分已对此进行了描述。登录到服务器计算机并从任何编辑器打开 /etc/ssh/sshd_config 文件,为服务器端配置设置必要的参数值。 ClientAliveInterval 和ClientAliveCountMax参数的值设置为增加 SSH 连接超时。 ClientAliveInterval 用于设置超时间隔(以秒为单位)。如果在该参数指定的时间之后没有数据传递,服务器将通过加密通道向客户端发送请求消息以进行响应。该参数的默认值为0。ClientAliveCountMax用于设置来自客户端的活动消息数。当达到该参数的值,但服务器没有收到客户端的任何响应时,服务器会断开连接。因此,总超时值通过以下公式计算。

Timeout value = ClientAliveInterval * ClientAliveCountMax

运行以下命令,使用 nano 编辑器打开文件,并将 ClientAliveInterval 值设置为 3600 秒,将 ClientAliveCountMax 值设置为 3。

$ sudo nano /etc/ssh/sshd_config

设置如下图所示的值。根据上面的公式,如果客户端没有发送任何响应,服务器将在10800(3600×3)秒后断开连接。因此,服务器将存活 10800 秒或 180 分钟。

现在,运行以下命令来重新启动服务器。

$ sudo systemctl restart sshd在客户端配置文件中设置保持活动选项:

增加SSH连接超时的另一种方法是修改客户端机器的配置文件,它比以前的选项更安全。登录到客户端计算机并打开 /etc/ssh/ssh_config 文件以设置必要的参数值以增加 SS 连接超时。设置ServerAliveInterval和ServerAliveCountMax参数以增加连接超时。这些参数的工作方式与服务器端配置参数类似。 ServerAliveInterval 用于设置超时间隔(以秒为单位),ServerAliveCountMax 用于设置来自服务器的活动消息数。客户端在 ServerAliveInterval 中定义的每个时间间隔内向服务器发送数据包。如果客户端在尝试获取 ServerAliveCountMax 中分配的值后没有收到服务器的任何响应,则客户端将断开连接。

运行以下命令,使用 Nano 编辑器打开文件,并将 ServerAliveInterval 值设置为 180 秒,将 ServerAliveCountMax 值设置为 4。

$ sudo nano /etc/ssh/ssh_config

在文件末尾添加以下行。根据指定的值,客户端将每隔180秒或3分钟向客户端发送一个数据包4次。如果服务器在720(180×4)秒或12分钟内没有发送任何响应,则客户端将自动断开连接。这里,服务器的主机值为“fahmida”,主机名的 IP 地址为 10.0.2.15。

Host fahmidaHostname 10.0.2.15ServerAliveInterval 180ServerAliveCountMax 4

修改文件如下图所示。

使用上述任何一种方式后,登录客户端计算机并从终端运行 ssh 命令来连接服务器。您需要在客户端计算机上长时间处于非活动状态,以检查 SSH 连接时间是否增加。如果您闲置180分钟,服务器将断开连接,如果您闲置12分钟,客户端将断开连接。

结论:

本教程展示了增加 SSH 连接超时的安全和不安全方法,以帮助用户出于各种目的保持 SSH 连接处于活动状态。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。