小编Har*_*ari的帖子

使用 gpg-agent-connect 工具重建 ssh 私钥文件

~/.ssh/id_dsa由于忘记了密码短语,我无法访问我的文件(DSA 算法中的 OpenSSH 私钥文件)。

但是,最初,我已经将它导入gpg-agent并使用我知道的 gpg-agent 密码保护它。gpg-agent即使现在,私钥仍然可以正常工作,尽管我现在希望使用存储在gpg-agent.

使用gpg-connect-agent工具,通过以下命令序列,我认为能够提取私钥(十六进制/ASCII 格式),尽管我不知道如何将其重建为原始的 OpenSSH 私钥文件格式:

  1. 开始gpg-connect-agent--hex选项。
  2. >提示中,使用keyinfo --ssh-list命令获取密钥的十六进制 ID (准确地说,它是提供密钥十六进制 ID 的第三个字段)。
  3. >提示中,执行keywrap_key --export.
  4. >提示中,执行export_key <enter hex ID from step 2>export_key --openpgp <enter hex ID from step 2>

现在,在提示输入密码、接收并确认后,gpg-connect-agent工具显示了几十行十六进制和 ASCII 代码,我非常怀疑这是我最初导入的 ssh 私钥。

然后,它显示OK,肯定意味着操作成功。

假设它显示的确实是我的 ssh 私钥(根据“help export_key”,屏幕上转储的是密钥的 aeswrap-128 加密版本;很可能是用我已知的 gpg-agent 密码加密的),一些帮助将该信息转换为传统的 ssh …

gpg-agent

8
推荐指数
1
解决办法
654
查看次数

标签 统计

gpg-agent ×1