Ich mag es, meine Git-Commits mit meinem PGP-Schlüssel zu signieren, daher war ich ziemlich alarmiert, als ich zu ging, git commit -S
aber anstatt nach meiner PGP-Schlüssel-Passphrase zu fragen, fing Git gerade an zu hängen. Ich habe seit einigen Monaten keine Änderungen an meinem GPG-Setup vorgenommen und seitdem viele Commits ohne Probleme durchgeführt. Wenn ich versuche, meine privaten Schlüssel mit anzuzeigen gpg -K
, bleibt gpg hängen. Wenn ich gpg -k
jedoch meine öffentlichen Schlüssel anzeigen möchte, wird die Liste wie gewohnt zurückgegeben. Hoffentlich hat jemand eine Vorstellung davon, was dieses Problem verursacht und wie es behoben werden kann.
gpg-agent
Manpage bemerkt, dass das Festlegen von GPG_TTY wie oben nicht etwas ist, das ich gehackt habe, um zu arbeiten, es ist erforderlich. Auf der Manpage steht, dass Sie es immer wie ich in Ihrem .bashrc einstellen sollten, und es heißt auch It is important that this environment variable always reflects the output of the tty command.
- das muss der Ort gewesen sein, von dem ich es bekommen habe. Eine andere Sache, auf die Sie achten müssen, ist das von gpg-agent verwendete Pinentry-Programm. Ich habe meine eingestellt (in ~/.gnupg/gpg-agent.conf
) auf/usr/bin/pinentry-curses
gpg-agent
ähnliches Setup in der .bashrc (usw.) des Remote-Systems und sind so konfiguriert, dass es auf dem X-Display der Remote oder ähnlichem angezeigt wird? Ich habe in der Vergangenheit ähnliche Probleme hat (zB ssh-ing von einem Terminal auf meinem mythtv Box zu meinem Desktop - Rechner zu laufen etwas gpg erfordern. auch ähnliche Probleme mit hattessh-agent
), und i Brute-Force „fest“ mitexport GPG_TTY=$(tty)
in der .bashrc, um sicherzustellen, dass die Eingabeaufforderung immer auf dem aktuellen tty ist. Ich kann GUI Passwd-Eingabeaufforderungen sowieso nicht ausstehen.