4種加速Linux SSH連線的方法


如果您使用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版本:

更新於:2023年3月31日

6000+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.