SSH 的连接复用功能

2023-07-18  本文已影响0人  大鹏一怒乘风起

在 SSH 客户端连接相同主机时,可以使用 SSH 的连接复用功能,也称为 Master-Multiplexing 或 ControlMaster 功能。通过启用连接复用,可以在首次 SSH 连接之后,将该连接保持在后台,并在后续连接时重用该连接,从而减少连接建立和认证的时间,提高连接速度和效率。

要启用 SSH 连接复用功能,您可以按照以下步骤操作:

  1. 编辑 SSH 客户端配置文件:
    打开或创建 SSH 客户端配置文件 ~/.ssh/config(Linux 和 macOS 系统)或 %USERPROFILE%\.ssh\config(Windows 系统)。

  2. 在配置文件中添加以下内容:
    在配置文件中添加以下内容来启用连接复用:

    Host *
      ControlMaster auto
      ControlPath ~/.ssh/master-%r@%h:%p
      ControlPersist 600
    
    • Host *:这表示对所有主机应用这些配置,您也可以针对特定主机或主机模式应用这些配置。
    • ControlMaster auto:启用连接复用。
    • ControlPath ~/.ssh/master-%r@%h:%p:定义保存主连接的路径和文件名模式。%r 表示远程用户名,%h 表示远程主机名,%p 表示远程端口号。这将在 ~/.ssh/ 目录下创建一个名为 master-username@hostname:port 的文件,用于保存主连接信息。
    • ControlPersist 600:定义持续时间(以秒为单位),即在连接关闭后继续保持主连接的时间。在此示例中,连接将在最后一个会话结束后持续 600 秒(10 分钟),以便在此期间可以重用该连接。
  3. 保存并关闭配置文件。

现在,当您通过 SSH 连接到相同的主机时,首次连接将建立一个主连接,并将其保持在后台。接下来的连接将直接重用该主连接,而不需要重新建立和认证连接,从而提高连接速度和效率。

请注意,连接复用功能需要一些系统资源来保持主连接,因此在长时间不活动或不使用 SSH 连接时,主连接可能会自动关闭。在示例配置中,主连接将在最后一个会话结束后持续 10 分钟。您可以根据实际情况调整 ControlPersist 参数的值。另外,为了使连接复用功能生效,确保目标主机上的 SSH 服务器也支持连接复用。大多数现代的 SSH 服务器都支持此功能。

上一篇 下一篇

猜你喜欢

热点阅读