SSH 透過 ControlMaster 共享 已連接 的資源來快速連線

SSH (OpenSSH) 每次連線都會跑一些加解密、認證等等的機制,兩邊都有 Auth key 也是一樣,想要讓再次連線的速度更快,可以怎麼做呢?

SSH 可以透過使用 ControlMaster 來共享已經連線的資源,而且可以減少 TCP/IP 的數量,可以節省更多的資源

SSH 透過 ControlMaster 共享 已連接 的資源來快速連線

正常標準的 SSH 連線方式,若機器是 w1.example.com (以下以 w1 來簡稱)

  1. ssh w1 # 連接上去後
  2. exit # 結束連線會出現下述訊息 Connection to w1.example.com closed.

SSH 想要讓連線速度更快,可以依靠已經連線的資源,於 SSH config 要做下述設定

  1. vim ~/.ssh/config # 於檔案最下方輸入下述
    Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 600
  2. mkdir -p ~/.ssh/sockets/
  3. ssh w1 # 先連線一個上去
  4. ssh w1 # 再嘗試連線上去,會發現連線速度異常的快速
  5. exit # 離開 w1,會出現下述的訊息
    Shared connection to w1.example.com closed.

註:

  • %r:使用者名稱
  • %h:主機IP
  • %p:Port

相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , , , , , 。將永久鏈結加入書籤。

SSH 透過 ControlMaster 共享 已連接 的資源來快速連線 有 2 則回應

  1. Puwen 說道:

    Step 2, mkdir -p ~/ssh/sockets/
    少個 . -> mkdir -p ~/.ssh/sockets/

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料