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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈SSH 透過 ControlMaster 共享 已連接 的資源來快速連線〉中有 2 則留言

發表迴響

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