gpg-agent wird bei Git-Aufrufen nicht angefordert

gpg-agent wird bei Git-Aufrufen nicht angefordert

In Git-Commits (gpg)gitBefehl fragt immer nach der Passphrase, währendGPG-Agentläuft.

Ich starteGPG-Agentmit

$ eval `gpg-agent -s --enable-ssh-support --daemon --write-env-file $HOME/.gpg-agent-info`

Dann öffne ich ein weiteres Terminal und überprüfe, ob es läuft:

$ cat ~/.gpg-agent-info
GPG_AGENT_INFO=/tmp/gpg-w2HH4r/S.gpg-agent:28539:1
SSH_AUTH_SOCK=/tmp/gpg-QQTJCD/S.gpg-agent.ssh
SSH_AGENT_PID=28539
$ ps -u $USER | grep gpg-agent
28539 ?        00:00:00 gpg-agent
$ echo $GPG_AGENT_INFO $SSH_AUTH_SOCK $SSH_AGENT_PID
/tmp/gpg-w2HH4r/S.gpg-agent:28539:1 /tmp/gpg-QQTJCD/S.gpg-agent.ssh 28539
$ echo test | gpg-aes -t D2FA51BD --use-agent | gpg --use-agent
....
test
....

Der erste '....' sagt, dass es eine Passphrase benötigt undGPG-AgentstartetPinentry-GTK-2. Das Letzte '....' sagt, dassgpgsigniert mit der Schlüssel-ID.

Wenn Sie denselben Befehl erneut ausführen, wird nicht nach der Passphrase gefragt

.

Aber wenn Sie Git ausführen,gpgfragt in der Kommandozeile nach der Passphrase,kein GPG-Agent mit Pinentry:

$ echo test >> test.txt ; git add test.txt ; git commit -S -m "test"
....
(intro passphrase)
....

Bei erneuter (und erneuter …) Ausführung des gleichen Befehls wird immer nach einer Passphrase (für die gleiche Schlüssel-ID) gefragt.

Mein.gitconfighat nur dieNutzernameUndEmail. Beide Befehle (gpgUndgit) verlangt dieselbe Schlüssel-ID.gpgmit--use-agentfunktioniert gut (ohne es nicht), abergithat keine Optionen zum Weitergebengpg(nur Benutzerkonfigurationswerte in.gitconfig); und die Umgebung ist korrekt.

ProtokollierungGPG-AgentmitDebug-Level 8zeigt nur Aktivität mitgpgBefehl, aber nichts mitgit.

Ich benutzegnupg 1.4.12Undgpg-agent 2.0.19(Debian Wheezy stabil, offizielle Repos). Ich habe Git aus dem GitHub-Repo geklont, die aktuelle Version (2.3.0.rc1.30.g76afe74) lokal kompiliert und installiert, mit demselben Ergebnis.

Ich habe meine Konfigurationen überprüft, weiß aber nicht, was das für ein Problem ist. Irgendwelche Vorschläge?

Danke

Antwort1

Dumm von mir... EinstellungsoptionAgent verwendenIngpg.conflöst das Problem.

Gitprüft nicht, obGPG-Agentläuft undgpgmuss mit der Option aufgerufen werden--use-agent.

Ich muss mein Standard-GPG-Verhalten (Optionen) ändern ... und verwenden--kein-Use-Agentin anderen Szenarien.

verwandte Informationen