
有沒有辦法從 GnuPG 儲存的 ed25519 密鑰對建立 id_ed25519 (不是 id_ed25519.pub)檔案?
我已經開始在 GPG 中追蹤我的 SSH 金鑰:
sec rsa3072 2017-12-12 [C]
DDD8CEFDE281D48CBBF0C56FE2AA8C94C8A7C456
uid [ultimate] Dave <[email protected]>
ssb rsa3072 2017-12-12 [S]
ssb rsa3072 2017-12-12 [E]
ssb rsa3072 2017-12-12 [A]
ssb ed25519 2017-12-12 [A]
為了匯出我的公鑰以供 SSH 使用,我使用了--export-ssh-key
GnuPG 中自 2.1 版本以來可用的選項。這適用於 RSA 和 ed25519 金鑰。
$ gpg -o id_rsa.pub --export-ssh-key 5D61D0F9!
$ gpg -o id_ed25519.pub --export-ssh-key 0A072B72!
(! 強制 GnuPG 使用指定的子金鑰,而不是第一個可用的身份驗證金鑰。)
為了匯出 RSA 私鑰,我使用以下工作流程:
$ gpg --export-secret-subkeys \
--export-options export-reset-subkey-passwd 0A072B72! | \
openpgp2ssh 0A072B72 > id_rsa
這將創建 SSH 可以理解的 RSA 私鑰,但沒有密碼。
要重新新增密碼,我使用:
$ ssh-keygen -p -f id_rsa
在我的 Windows 工作站上,我使用 PuTTYGen 將金鑰轉換為 PuTTY 可以理解的內容。
這與 ed25519 鍵不同,因為openpgp2ssh
不處理 ed25519 鍵。
據我所知,有些人直接透過 SSH 使用 GPG 金鑰環,但這對我不起作用。我需要將私鑰分離出來以便與 Windows 上的 PuTTY 一起使用。