使用前提

Yubikey已配置GPG-Key.

MacOS

MacOS 使用 Yubikey提供的SSH私钥

MacOS需要使用 gpg-agent 和 pinentry-mac 来实现.

1. 安装gnupgpinentry-mac

可以通过Homebrew管理安装

brew install gnupg pinentry-mac

3. gpg-key

确认已导入GPG-Key

3. 配置系统文件

.zshrc 中添加如下两行:

export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent

在~/.gnupg/gpg-agent.conf 中添加:

pinentry-program /url/local/bin/pinentry-mac # 改成你自己的位置
enable-ssh-support

4. 确认

  1. 通过 ssh-add -L 来查看是否生效
  2. 如果遇到问题,使用 gpg-connect-agent /bye 来重新连接 gpg-agent.

Git 使用 Yubikey的GPGKey签名

1. 查看私钥

gpg --list-secret-keys --keyid-format LONG

2. Git配置GPG密钥

git config --global user.signingkey YOUR_KEY_ID

3. GIT签名

git commit -S -m message