SSH私鑰管理ssh-agent的使用

pythontab發表於2013-08-02

SSH私鑰管理ssh-agent的使用

我所在的公司是使用git來管理和部署原始碼的,所以需要將自己的私鑰從開發機帶到線上機

[plain]

ssh -A xxx@192.168.0.xxx

但是發現跳到線上機後進行git fetch,提示並沒有找到開發機上得私鑰,私鑰沒有帶過來。經過幾天搜尋,發現是開發機需要啟動ssh-agent

[plain]

ssh-agent bash --login -i

ssh-add

這樣就可以把自己的私鑰加密快取,ssh內部的機制可以在通迅過程中把快取的私鑰安全的帶到目標機上

【ssh-agent介紹】

ssh-agent就是一個管理私鑰的代理,受管理的私鑰透過ssh-add來新增,所以ssh-agent的客戶端都可以共享使用這些私鑰。

好處1:不用重複輸入密碼。

用 ssh-add 新增私鑰時,如果私鑰有密碼的話,照例會被要求輸入一次密碼,在這之後ssh-agent可直接使用該私鑰,無需再次密碼認證。

好處2:不用到處部署私鑰

假設私鑰分別可以登入同一內網的主機 A 和主機 B,出於一些原因,不能直接登入 B。可以透過在 A 上部署私鑰或者設定 PortForwarding 登入 B,也可以轉發認證代理連線在 A 上面使用ssh-agent私鑰登入 B。


相關文章