去年,我在 Thunderbird 中使用 GPG / Enigmail 创建了一个 4096 位 RSA 密钥对。Enigmail 列出了用于签署和验证电子邮件的主密钥以及用于加密电子邮件的子密钥。我将密钥对导出到 .asc 文件。
现在我想使用这些密钥进行 SSH 连接并像这样导出密钥:
gpg2 --armor --export-secret-keys [key] > sec_key.txt
ssh-add sec_key.txt
当 ssh-add 要求我输入密码时,我输入了正确的密码(在 Enigmail 中有效)但被拒绝:
Bad passphrase, try again
使用公钥(使用 --export 导出)以及使用子密钥会导致相同的错误。“ssh -v -i sec_key.txt localhost”出现此错误:
key_parse_private_pem: PEM_read_PrivateKey failed
但是密码必须正确,因为我可以使用 GPG 更改密码:
gpg --edit-key [key]
我也尝试过完全删除密码,但还是无法登录 ssh。“ssh-add sec_key.txt”没有输出,但返回 1。
我该怎么做才能使用此密钥进行 ssh 连接?
答案1
您不能直接在 SSH 中使用 PGP 密钥;请参阅SSH 密钥与用于其他用途的密钥有何不同?了解差异的详细信息GPG 和 SSH 密钥可以互换吗?如何让它工作。