web-dev-qa-db-ja.com

yubikey / gpg-agentは、gitcommitを実行するときに常に私のPIN

最近、gitは、ピンを入力した後、3〜4回ごとにyubikeyピンを要求しています。これは以前は発生していませんでした。カードが正しく読み取られていないか、何らかの理由で切断されているのではないかと思います。それはかなり迷惑になっています。

〜/ .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
reuel

カードに「署名の強制」フラグが設定されている可能性があります。 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の挿入ごとに1回だけユーザーの入力を求められますPIN。

1
ravron