饂飩コーディング

iOSアプリやら、Unityやら、Cocos2dやらごにょごにょ書いております

署名つきでのGitコミット時のパスフレーズキャッシュ

f:id:appdeappuappu:20200304185914p:plain

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

f:id:appdeappuappu:20200304182325p:plain

確認コマンド↓
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〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

  • 作者:湊川 あい
  • 発売日: 2017/04/21
  • メディア: 単行本(ソフトカバー)
独習Git

独習Git

【改訂新版】Gitポケットリファレンス

【改訂新版】Gitポケットリファレンス

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

  • 作者:大塚 弘記
  • 発売日: 2014/03/20
  • メディア: 単行本(ソフトカバー)