Gitで署名をつけるためにGnupgで秘密鍵を使った場合に
パスフレーズの入力を度々要求されます。
パスフレーズの解放が初期設定が600sなので入力後10分経つと
もう一度入力を要求されるようです。
そこで!
この初期設定を3600s程度に変更すればあまり気にならない程度に
パスフレーズをキープできます。
現在のgpgでキャッシュの設定を確認するために以下のコマンドを入力
MacBook$ gpgconf –list-options gpg-agent | grep cache-ttl
↓
default-cache-ttl:24:0:N秒後に保持したPINを無効とする:3:3:N:600::
default-cache-ttl–ssh:24:1:N秒後にSSH鍵を無効とする:3:3:N:1800::
max-cache-ttl:24:2:最大PINキャッシュ存続時間をN秒とする:3:3:N:7200::
max-cache-ttl–ssh:24:2:最大SSH鍵存続時間をN秒とする:3:3:N:7200::
既存の設定ではdefault cacheが二つ600sと1800sなので両方とも3600sに
書き換えましょう。
以下のコマンドでgpg-agent.confに設定が書き出されます。(/Users/xxxxx/.gnupg/gpg-agent.conf いわゆるホーム直下)
cat <<CONF | tee -a .gnupg/gpg-agent.conf
自分はこのmpg-agent.confをテキストエディタで開いて以下の二行を
書き込みました。
default-cache-ttl 3600
default-cache-ttl–ssh 3600
確認コマンド↓
gpgconf –list-options gpg-agent | grep cache-ttl
default-cache-ttl:24:0:N秒後に保持したPINを無効とする:3:3:N:600::3600
default-cache-ttl–ssh:24:1:N秒後にSSH鍵を無効とする:3:3:N:1800::3600
max-cache-ttl:24:2:最大PINキャッシュ存続時間をN秒とする:3:3:N:7200::
max-cache-ttl–ssh:24:2:最大SSH鍵存続時間をN秒とする:3:3:N:7200::
になっていればOK
設定変更されてなかったら以下でGnupgを再起動してみるのはどうでしょうか
gpgconf –kill gpg-agent
gpgconf –launch gpg-agent

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉
- 作者:湊川 あい
- 発売日: 2017/04/21
- メディア: 単行本(ソフトカバー)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
- 作者:大塚 弘記
- 発売日: 2014/03/20
- メディア: 単行本(ソフトカバー)
コメント