我有一个 SSH ed25519 密钥,我想将其作为身份验证子密钥导入 GPG。似乎没有任何文档介绍如何执行此操作。
答案1
第一步是不可能的。
但是你可以将 SSH ed25519 私钥导入 GPG。
假设您已经设置gpg-agent
。
- 通过
SSH_AUTH_SOCK
和设置GPG_TTY
环境变量。export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export GPG_TTY=$(tty)
- 通过 将您的 SSH 私钥添加到 GPG
ssh-add ed25519-filename
。
请注意,如果要求您输入新密码,建议您使用与 GPG 主密码相同的密码。 - 识别您在步骤 2 中添加的私钥的 keygrip。
- 通过 检查您现有的 GPG 私钥的 keygrips
gpg -K --with-keygrip
。 - 通过 检查私钥文件
ls -l $(gpgconf --list-dirs homedir)/private-keys-v1.d
。 - 步骤 3.2. 的文件名不在步骤 3-1 的 keygrip 中,而是您通过步骤 2 添加的 keygrip。
- 通过 检查您现有的 GPG 私钥的 keygrips
- 设置添加
ssh-add
到子项的项。- 通过 启动 GPG
gpg --expert --edit-key "Your-existing-GPG-Key-ID"
。 - 输入
addkey
命令。 - 选择“现有密钥”。(可能是“13”)
- 输入步骤 3 中识别的按键。
- 根据需要设置功能并完成。
- 然后,适当回答问题。
注意,你应该回答Y
和Really create?
等等Save changes?
。
- 通过 启动 GPG
- 通过 验证导入是否成功
gpg -K --with-keygrip
。
您应该能够看到刚刚添加的 keygrip。