【问题标题】:GPG authentication subkey: "invalid format" errorGPG 身份验证子密钥:“无效格式”错误
【发布时间】:2022-06-19 12:17:55
【问题描述】:

我使用带有身份验证子密钥的 GPG 已经有一段时间了,最​​近我遇到了一条非常无用的错误消息。我正在写这个“问答式”的问题,以帮助可能遇到同样问题的其他人。

我为 GitHub 的东西使用一组 GPG 密钥——用于提交签名和通过 SSH 进行身份验证。我决定将身份验证子密钥升级到更新的 ED25519 椭圆曲线标准,因此我添加了一个具有身份验证功能的新 ed25519 子密钥,并撤销了旧的 RSA 身份验证子密钥。我gpg --export-ssh-keyed 新子密钥,然后将其添加到 GitHub 和本地 ~/.ssh/id_gpg_gh.pub 文件中,该文件通过我的 SSH 配置设置为我的 GitHub 身份文件。

不过,此时,当我测试我的登录能力时,SSH 抛出了 Load key ".ssh/id_gpg_gh.pub": invalid format 错误。以详细模式连接 (ssh -T github.com -v) 显示 SSH 正确地通告了我的新密钥并且 GitHub 正在接受它,但在接受之后立即出现错误消息。由于格式问题,SSH 似乎拒绝实际使用我的新子密钥。

【问题讨论】:

    标签: ssh gnupg gpg-agent


    【解决方案1】:

    这种情况下的错误消息被证明有点误导。正如它所建议的那样,我的公钥文件中没有格式错误。相反,我忘记告诉 GPG 代理使用我的新子密钥,我通过将其 keygrip 添加到 ~/.gnupg/sshcontrol 来修复它。

    尽管这是一个简单的修复方法,但该错误消息具有足够的误导性,以至于我预计其他人会遇到同样的问题并同样感到困惑。我希望这个答案在这种情况下会有用。

    此外,如果任何阅读本文的人首先需要一个很好的参考来设置 GPG/SSH 身份验证:网上有几个指南可用,但 this one from opensource.com 是一个很好的起点。这也是我确定我跳过的设置步骤的方式,从而解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多