如何将 SSH ed25519 密钥导入 GPG?

tcy*_*rus 6 openssh ssh-keys x509 gnupg pkcs

我有一个 SSH ed25519 密钥,我想将其作为身份验证子密钥导入到 GPG。似乎没有任何关于如何执行此操作的文档。

小智 4

第一步是不可能的。
但您可以将 SSH ed25519 私钥导入 GPG。

假设您已经设置好gpg-agent

  1. 通过和设置SSH_AUTH_SOCKGPG_TTY环境变量。export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)export GPG_TTY=$(tty)
  2. 通过 . 将您的 SSH 私钥添加到 GPG 中ssh-add ed25519-filename
    请注意,如果要求您输入新密码,建议您使用与 GPG 主密码相同的密码。
  3. 识别您在步骤 2 中添加的私钥的 keygrip。
    1. 通过 检查现有 GPG 私钥的 keygrips gpg -K --with-keygrip
    2. 通过检查私钥文件ls -l $(gpgconf --list-dirs homedir)/private-keys-v1.d
    3. 步骤 3.2 的文件名。不在步骤 3-1 的键夹中的是您在步骤 2 中添加的键夹。
  4. ssh-add设置添加到子项 的项。
    1. 通过 启动 GPG gpg --expert --edit-key "Your-existing-GPG-Key-ID"
    2. 输入addkey命令。
    3. 选择“现有密钥”。(也许是“13”)
    4. 输入步骤 3 中标识的钥匙夹。
    5. 根据需要设置功能并完成。
    6. 然后,适当回答问题。
      请注意,您应该Y回答Really create?等等Save changes?
  5. 通过 验证导入是否成功gpg -K --with-keygrip
    您应该能够看到刚刚添加的键夹。

  • 谢谢您的帮助。我最终编写了一个快速脚本,使用 openpgp.js 来提取/修改 gpg sigchain ([link](https://github.com/tcyrus/swiss-army-spoon)),但这个解决方案要好得多。 (2认同)