运行 git commit 时,yubikey/gpg-agent 总是要求我输入 PIN

运行 git commit 时,yubikey/gpg-agent 总是要求我输入 PIN

最近,在我输入 PIN 码之后,git 每隔 3 或 4 次就会要求我输入 yubikey PIN 码。以前从来没有发生过这种情况。我在想可能是卡没有被正确读取或以某种方式断开了连接。这变得非常烦人。

〜/.gnupg/gpg-agent.conf:

enable-ssh-support
default-cache-ttl 43200
max-cache-ttl 86400
default-cache-ttl-ssh 43200
max-cache-ttl-ssh 86400
pinentry-program /usr/local/bin/pinentry-tty

〜/ .gitconfig:

[user]
    signingkey = xxxxxxxxxx
[core]
    excludesfile = ~/.gitignore
[commit]
    gpgsign = true

答案1

您可能在卡上设置了“强制签名”标志。尝试gpg --card-status

$ gpg --card-status
# snip
Signature PIN ....: forced

如果你看到Signature PIN ....: forced,那就是你的问题。你可以使用 更改此设置gpg --card-edit

$ gpg --card-edit
> admin
> forcesig
# enter your admin PIN

之后,--card-status应该显示Signature PIN ....: not forced,并且每次插入 Yubikey 时只会要求您输入一次用户 PIN。

相关内容