SSH私鑰管理ssh-agent的使用
我所在的公司是使用git來管理和部署源代碼的,所以需要將自己的私鑰從開發機帶到線上機
[plain]
ssh -A
[email protected]
但是發現跳到線上機後進行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。