四种提升 Linux 中 SSH 连接速度的方法

linuxoperating systemopen source更新于 2026/2/6 16:37:17

如果您使用 Linux 远程访问其他服务器或设备,您可能熟悉 SSH(安全外壳)协议。SSH 是一种网络协议,可以在不安全的网络上进行安全的数据通信。然而,有时 SSH 连接速度会很慢,这可能会令人沮丧。在本文中,我们将介绍四种提升 Linux 中 SSH 连接速度的方法。

使用压缩

压缩是一种减少网络传输数据大小的方法。它可以显著提高 SSH 连接速度,尤其是在慢速或高延迟的网络上。要启用压缩,您需要在 SSH 配置文件中添加以下行 -

Compression yes

此行指示 SSH 为通过网络发送的所有数据启用压缩。您还可以通过在 SSH 配置文件中添加以下行来设置压缩级别 -

CompressionLevel 9

压缩级别范围从 1 到 9,1 表示最快,9 表示最慢但最高效。您可以尝试不同的压缩级别,找到最适合您网络的级别。

使用 ControlMaster

ControlMaster 是 SSH 的一项功能,允许您重用现有的 SSH 连接来加快后续连接的速度。使用 ControlMaster 时,SSH 会与远程主机建立单个主连接,并使用该连接进行与同一主机的后续连接。

要启用 ControlMaster,您需要在 SSH 配置文件中添加以下行:-

ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p

第一行指示 SSH 使用 ControlMaster 进行所有连接,第二行指定控制套接字的路径。您可以根据需要自定义控制套接字的路径。

启用 ControlMaster 后,SSH 将重用主连接进行与同一主机的后续连接,这可以显著提高 SSH 连接的速度。

使用更快的密码

密码是一种加密通过网络传输的数据的方法。SSH 支持多种密码,但某些密码比其他密码更快。使用更快的密码可以提高 SSH 连接速度。

要指定更快的密码,您需要在 SSH 配置文件中添加以下行 -

Ciphers aes128-ctr,aes192-ctr,aes256-ctr

此行指定了三种快速密码 - aes128-ctr、aes192-ctr 和 aes256-ctr。您还可以从列表中删除任何慢速密码,以进一步提高 SSH 连接速度。

使用多路复用

多路复用是 SSH 的一项功能,允许您在多个会话中重用现有的 SSH 连接。使用多路复用时,SSH 会与远程主机建立单个连接,并使用该连接进行多个会话。

要启用多路复用,您需要在 SSH 配置文件中添加以下几行 -

ControlPath ~/.ssh/sockets/%r@%h-%p
ControlMaster auto
ControlPersist 600

第一行指定控制套接字的路径,第二行启用 ControlMaster,第三行指定在上一个会话结束后保持主连接的时间。在本例中,主连接将在上一个会话结束后保持 10 分钟(600 秒)。

启用多路复用后,您可以打开多个到同一主机的 SSH 会话,而无需每次都建立新的连接,这可以显著提高 SSH 连接的速度。

以下是一些您可以尝试进一步优化 Linux 中 SSH 连接的额外技巧 -

使用更快的网络

影响 SSH 性能的主要因素之一是网络延迟。如果您通过速度慢或拥塞的网络访问远程服务器,您的 SSH 连接速度也可能会很慢。为了提升性能,您可能需要考虑优化网络或升级到更快的网络连接。

例如,如果您使用的是无线网络,则可能需要切换到有线连接。这有助于减少延迟并提高稳定性,从而提升 SSH 性能。

使用 SSH 代理转发

SSH 代理转发功能允许您使用本地 SSH 代理向远程服务器进行身份验证。这可以加快您的 SSH 连接速度,避免每次连接到远程服务器时都需要输入密码。

要启用 SSH 代理转发,您需要在 SSH 配置文件中添加以下行 -

Host *
ForwardAgent yes

完成这些更改后,您可以建立启用代理转发的新 SSH 会话 -

ssh -A username@hostname

这将允许您使用本地 SSH 代理向远程服务器进行身份验证,从而加快连接速度并更轻松地管理多个服务器。

使用 SSH 连接共享

SSH 连接共享功能允许您在多个进程之间共享单个 SSH 连接。这有助于减少建立新 SSH 连接所需的时间,并提高整体 SSH 性能。

要启用 SSH 连接共享,您需要在 SSH 配置文件中添加以下行 -

ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600

完成这些更改后,您可以建立启用连接共享的新 SSH 会话 -

ssh -o ControlMaster=auto -o ControlPath=~/.ssh/sockets/%r@%h-%p username@hostname

这将允许您在新的 SSH 会话中重用现有的 SSH 连接,从而提高性能并减少资源使用。

结论

SSH 是远程访问其他服务器或设备的强大工具,但连接速度较慢这可能会令人沮丧。通过使用压缩、ControlMaster、更快的密码和多重词法分析,您可以显著提高 Linux 中 SSH 连接的速度。这些方法易于实现,并且可以显著提高您的工作效率。

值得注意的是,每种方法的有效性取决于您的网络设置和 SSH 连接的具体情况。因此,最好尝试不同的设置,找到最适合您的设置。

最后,务必确保您使用的是最新版本的 SSH,因为新版本通常会带来性能改进和安全性增强。您可以在终端中运行以下命令来检查您的 SSH 版本 -


相关文章


有用资源