Linux下SSH Session複製功能實現方法

來源:互聯網
上載者:User

   特別感謝阿幹同學的郵件分享。

  詳細方法

  代碼如下:

  Linux/mac下,在$HOME/.ssh/config中加入

  Host *

  ControlMaster auto

  ControlPath /tmp/ssh-%r@%h

  至此只要第一次SSH登入輸入密碼,之後同個Hosts則免登。

  設定檔分析

  man ssh_config 5

  代碼如下:

  ControlPath

  Specify the path to the control socket used for connection sharing as described in the ControlMaster section

  above or the string “none” to disable connection sharing. In the path, ‘%l’ will be substituted by the

  local host name, ‘%h’ will be substituted by the target host name, ‘%p’ the port, and ‘%r’ by the remote

  login username. It is recommended that any ControlPath used for opportunistic connection sharing include at

  least %h, %p, and %r. This ensures that shared connections are uniquely identified.

  %r 為遠程機器的登入名稱

  %h 為遠程機器名

  原理分析

  嚴格地講,它並不是真正意義上的Session Copy,而只能說是共用Socket。

  第一次登入的時候,將Socket以檔案的形式儲存到:/tmp/ssh-%r@%h這個路徑

  之後登入的時候,一旦發現是同個主機,則複用這個Socket

  故,一旦主進程強制退出(Ctrl+C),則其他SSH則被迫退出。

  可以通過ssh -v參數,看debug資訊驗證以上過程

  備忘

  有同學說在linux上通過認證的形式,可以實現免登入,沒錯。

  對於靜態密碼,完全可以這麼幹;對於動態密碼(口令的方式),則上述手段可以方便很多。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.