Ssh
恢復仍然在 gpg 代理中註冊的失去的 ssh 密鑰
通過使用 gpg 代理打開它,我一直在使用 ssh 密鑰。我確實記得 gpg 代理密碼,但我不記得 ssh 密鑰。
如何從 gpg 代理恢復 ssh 密鑰?
gpg-agent
模仿ssh-agent
. 身份驗證請求被發送到代理,代理返回身份驗證。您無法檢索任何私鑰,只能從代理檢索公鑰。它是出於安全目的而設計的。代理永遠不會通過其請求通道發送私鑰。相反,需要私鑰的操作將由代理執行,並將結果返回給請求者。這樣,私鑰就不會暴露給使用代理的客戶端。
如果您想取回您的公鑰,您可以與 gpg 代理進行互動,
ssh-add
就像您對 ssh 代理所做的那樣。# list public keys from the agent ssh-add -L
更新:有關關鍵挑戰如何運作的詳細資訊。
當您使用 SSH 連接到伺服器時,伺服器不會直接要求您提供私鑰和密碼來進行身份驗證,因為通過網路發送它們是不安全的。
相反,當伺服器想要驗證您的身份時,它會向您發送一個使用您的公鑰計算的請求。要完成身份驗證,您必須使用私鑰和請求計算響應,並將響應發送回請求者。
gpg 代理是您處理響應的代理。它確實儲存了私鑰和密碼。但它的設計方式使您無法從代理中檢索它們。