有什么方法可以设置 SSH 配置文件以自动执行 GPG 签名吗?

Is there any way to set up an SSH config profile to perform GPG signing automatically?

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

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

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

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

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>

其中 <KEY-FINGERPRINT-HERE> 是您要使用的密钥的指纹,必须已经在 gpg 中导入(请参阅 gpg --edit-key <your-mail> 获取指纹)。

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