tobiasBora Asked: 2019-09-12 01:38:39 +0800 CST2019-09-12 01:38:39 +0800 CST 2019-09-12 01:38:39 +0800 CST 恢复仍然在 gpg 代理中注册的丢失的 ssh 密钥 772 通过使用 gpg 代理打开它,我一直在使用 ssh 密钥。我确实记得 gpg 代理密码,但我不记得 ssh 密钥。 如何从 gpg 代理恢复 ssh 密钥? ssh 1 个回答 Voted Best Answer Simba 2019-09-12T05:01:21+08:002019-09-12T05:01:21+08:00 gpg-agent模仿ssh-agent. 身份验证请求被发送到代理,代理返回身份验证。您无法检索任何私钥,只能从代理检索公钥。它是出于安全目的而设计的。 代理永远不会通过其请求通道发送私钥。相反,需要私钥的操作将由代理执行,并将结果返回给请求者。这样,私钥就不会暴露给使用代理的客户端。 如果您想取回您的公钥,您可以与 gpg 代理进行交互,ssh-add就像您对 ssh 代理所做的那样。 # list public keys from the agent ssh-add -L 更新:有关关键挑战如何运作的详细信息。 当您使用 SSH 连接到服务器时,服务器不会直接要求您提供私钥和密码来进行身份验证,因为通过网络发送它们是不安全的。 相反,当服务器想要验证您的身份时,它会向您发送一个使用您的公钥计算的请求。要完成身份验证,您必须使用私钥和请求计算响应,并将响应发送回请求者。 gpg 代理是您处理响应的代理。它确实存储了私钥和密码。但它的设计方式使您无法从代理中检索它们。
gpg-agent
模仿ssh-agent
. 身份验证请求被发送到代理,代理返回身份验证。您无法检索任何私钥,只能从代理检索公钥。它是出于安全目的而设计的。如果您想取回您的公钥,您可以与 gpg 代理进行交互,
ssh-add
就像您对 ssh 代理所做的那样。更新:有关关键挑战如何运作的详细信息。
当您使用 SSH 连接到服务器时,服务器不会直接要求您提供私钥和密码来进行身份验证,因为通过网络发送它们是不安全的。
相反,当服务器想要验证您的身份时,它会向您发送一个使用您的公钥计算的请求。要完成身份验证,您必须使用私钥和请求计算响应,并将响应发送回请求者。
gpg 代理是您处理响应的代理。它确实存储了私钥和密码。但它的设计方式使您无法从代理中检索它们。