【问题标题】:Is there any way to set up an SSH config profile to perform GPG signing automatically?有什么方法可以设置 SSH 配置文件以自动执行 GPG 签名?
【发布时间】:2023-03-28 13:56:01
【问题描述】:

我的工作场所让我为我的工作设置了 SSH git 和 GPG 签名。我有几个不同的 GitHub 帐户用于不同的事情,所以我还设置了一个 SSH 配置,以便在我每次在工作中设置/工作新分支时不必一遍又一遍地做同样的事情。我的(相关)SSH 配置如下:

Host renci
  HostName github.com
  User mwhicks-dev
  IdentityFile <<path to SSH>>
  IdentitiesOnly yes

我将此主机设置为用于运行此帐户和特定 SSH 密钥(我的工作)的所有存储库,以便我可以在此处更改远程以使用我的主机。

我想对 GPG 密钥做类似的事情,这样我的提交就可以得到验证,而不必在每次开始新存储库时都设置密钥验证。有什么方法可以在这个主机中设置我的GPG密钥,类似于IdentityFile参数?

【问题讨论】:

    标签: git gnupg git-sign


    【解决方案1】:

    SSH 和 GIT/GPG 彼此无关,因此您无法在 .ssh/config 中配置用于签署提交的 PGP 密钥。如果您想设置用于签署提交的 PGP 密钥,您必须配置 git 来执行此操作。

    您可以像这样全局设置:

    git config --global gpg.program gpg
    git config --global commit.gpgsign true
    git config --global user.signingkey <KEY-FINGERPRINT-HERE>
    

    其中&lt;KEY-FINGERPRINT-HERE&gt; 是您要使用的密钥的指纹,必须已在gpg 中导入(指纹见gpg --edit-key &lt;your-mail&gt;)。

    您也可以省略 --global 以仅为您正在处理的当前 GIT 存储库配置不同的设置。

    【讨论】:

    • 可以在 Git 中实际使用 ssh 的数字签名功能,但目前还很尴尬。对 Git 进行了一组正在进行的更改,以使其更流畅。看起来很可能 OP 真的只是在使用 GPG。
    • @torek 是的,这确实是我的假设。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    相关资源
    最近更新 更多