Cache GPG hasło do podpisywania Git na Macu
Jest już bardziej ogólny wątek na ten temat, Zapamiętaj hasło GPG podczas podpisywania zatwierdzeń git , ale odpowiedź tam nie działa. Moje środowisko to:
- Mac ([email protected])
- Bash (domyślny, który jest dostarczany z macOS)
- Git v2.27.0
- GnuPG w wersji 2.2.20 (libgcrypt 1.8.5)
Zainstalowałem GnuPG przez Homebrew i zapisałem w ~/.gnupg/gpg-agent.confpliku następujące ustawienia :
default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year
Ale pamięć podręczna nie jest stosowana. Co mniej więcej dziesięć minut po wykonaniu git commitpolecenia gpg wyświetla monit o ponowne wprowadzenie hasła.
To jest mój .gitignoreplik globalny :
[commit]
gpgSign = true
czego mi brakuje?
Odpowiedzi
W mojej konfiguracji osobistej dodałem klucz podpisu do sekcji użytkownika.
[user]
name = "Marco Franssen"
email = "[email protected]"
signingkey = 63B0C3B53E26....
[commit]
gpgSign = true
Ponadto mam następujące wtyczki w oh-my-zsh. ( ~/.zshrc)
plugins=(git keychain gpg-agent)
zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....
Ta wtyczka uruchamia agenta dla moich kluczy ssh i gpg.
Ponadto dodałem następujący plik
$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600
W przypadku Bash możesz dodać następujące elementy do swojego ~/.bashrc.
https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh