Git fragt mich nicht nach der gpg-Passphrase und schlägt bei meinem Commit fehl

Lesezeit: 2 Minuten

Wenn ich es tue git commit -a -S -m "Commit Message"bekomme ich diesen Fehler:

You need a passphrase to unlock the secret key for
user: "Username (Gpg Key) <email-id>"
2048-bit RSA key, ID 2487BE7C, created 2016-10-03

error: gpg failed to sign the data
fatal: failed to write commit object

Aber es fragt/fordert nicht einmal nach meiner Passphrase, wenn ich mich festlege. Also, wie und wo gebe ich meine Passphrase ein, während ich gpgs verwende -S Flagge?

  • Sind Sie sicher, dass gpg Eingaben lesen kann? Wenn stdin geschlossen ist, wird die obige Fehlermeldung angezeigt. Wenn der git-Befehl nicht in einer interaktiven Shell ausgeführt wird, müssen Sie möglicherweise gpg-agent ausführen, um die Passphrase-Eingabe zu verarbeiten.

    – G. Sliepen

    3. Oktober 2016 um 10:47 Uhr

  • @G.Sliepen Kannst du bitte sagen, wie man es startet?

    – Dawny33

    3. Oktober 2016 um 10:58 Uhr

Benutzer-Avatar
DiegoRBaquero

Ich hatte das ähnliche. Ich hatte die gpg- und gpg2-Binärdateien, die beide auf die GPG-Version 2.0.30 verweisen. Ich wurde nicht nach meiner Passphrase gefragt.

Fügen Sie in Ihrem Bash-Profil (ich habe es in meiner .zshrc-Datei gemacht) die folgende Zeile hinzu:

export GPG_TTY=$(tty)

  • Vielen Dank, das funktioniert für mich in meiner Bash unter macOS.

    – Panda

    28. Juni 2017 um 16:40 Uhr


  • Alles vergessen .zshrc Ich habe dies von anderen Beiträgen aus versucht, aber in meinem .bashrc Hoppla! Das hat funktioniert, danke!

    – CTS_AE

    28. August 2020 um 9:34 Uhr


Es hörte auf, mich dazu aufzufordern, also musste ich den Dämon töten

ps aux | grep gpg
mark              3129   0.0  0.0  4397952    820   ??  Ss    8Mar19   0:28.84 gpg-agent --homedir /Users/Mark/.gnupg --use-standard-socket --daemon
mark             18137   0.0  0.0  4286492    848 s000  R+    3:43pm   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg

dann

sudo kill -9 3129

Dann hat es geklappt. Es kann ein etwas anderes Problem sein.

  • Dies hat das Problem für mich gelöst. Scheint, als hätte ich die vorherige Eingabeaufforderung auf eine schlechte Weise verlassen, was den Daemon verwirrt hat.

    – Antonio Martinović

    24. Juni 2019 um 9:24 Uhr


  • Danke dafür.

    – kukabi

    8. April 2020 um 13:41 Uhr

Wenn Sie OSX verwenden. Es scheint, als ob ein gpg-Update (von Brew) an den Speicherort von gpg in gpg1 geändert wurde. Sie können die Binärdatei ändern, in der git das gpg nachschlägt:

git config --global gpg.program gpg1

Sehen diesen mittelgroßen Blogbeitrag.

  • Für mich ist es immer noch gpg, aber es fragt nicht nach dem Passwort und schlägt fehl. Irgendeine andere Empfehlung?

    – DiegoRBaquero

    4. November 2016 um 22:52 Uhr

1226180cookie-checkGit fragt mich nicht nach der gpg-Passphrase und schlägt bei meinem Commit fehl

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy