Cache GPG hasło do podpisywania Git na Macu

Nov 11 2020

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

1 Marco Nov 11 2020 at 16:35

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