gpg-agent soll Passwort spreichern

h^2

hat ne Keule +1
Hallo Leute,

ich habe vor kurzem endlich mal gnupg eingerichtet, bekomme aber gerade die Mega-Krise, weil ich jetzt *jedesmal* wenn ich eine Mail schicke (mit Thunderbird) und *jedesmal* wenn ich eine verschlüsselte Mail öffne nach meinem Passwort für den Key gefragt werde.

Enigmail sagt ja schon, dass die "Remember Passphrase for x minutes" Option nichts bringt, weil das von gpg-agent verwaltet wird. Also habe ich gpg-agent eingerichtet, so dass er automatisch bei session start läuft. Das tut er auch. Den Agent habe ich so konfiguriert:
Code:
cat .gnupg/gpg-agent.conf
default-cache-ttl 900
max-cache-ttl 7200
pinentry-program /usr/local/bin/pinentry-qt4
und an .gnupg/gpg.conf am Ende "use-agent" angefügt. In den Enigmail settings unter "advanced" habe ich
[x] use gpg-agent for passphrase
angekreuzt.

Was muss ich noch tun, damit ich nur alle paar Stunden das Passwort eingeben muss? Kann ja nicht sein, dass so kompliziert ist :grumble:

Danke.
 
Hast Du den agent auch gestartet? Ich weiss nicht, ob enigmail das fuer dich erledigt, aber am besten du schaust mit 'ps' einfach mal nach, ob das Ding denn laeuft.
Jo, der läuft.
Code:
2390  ??  Ss     0:00,10 gpg-agent --daemon --enable-ssh-support --write-env-file /home/blubb/.gpg-agent-info

awesome startet den für mich, wenn er noch nicht rennt.
Die Variablen sind auch gesetzt:
Code:
% env | grep -i gpg
GPG_TTY=/dev/pts/4
SSH_AUTH_SOCK=/tmp/gpg-SheDv4/S.gpg-agent.ssh
GPG_AGENT_INFO=/tmp/gpg-JflETR/S.gpg-agent:2390:1

Noch jemand Ideen?
 
Ein Schuss ins Blaue: Starte den Donnvervogel mal aus ner Shell. Eventuell fehlen da irgendwelche ENV's wenn er ueber das Menue gestartet wird?
 
In der Tat, jetzt geht es. Aber warum gibts das sonst nicht?

Das kann ich dir auch nicht genau sagen. Am besten ist, wenn Du mit
Code:
printenv
die Environment-Variablen mal durchsiehst und ggf gpg-relevante in .xsession bzw. xinitrc mitreinschreibst.

EDIT: In meinem ersten Link zur GPG-Doku steht was zu dem Thema.
 
Zuletzt bearbeitet:
Die Variablen werden in meiner .profile gesetzt. Die .profile wird in meiner .xinitrc als allererstes importiert (. ~/.profile), danach wird erst awesome geladen, was dann die anderen Dinge startet...
In meine .xsession habe ich das auch eingetragen, hilft aber nicht.
 
Welche genau setzt Du denn? Stimmen die auch mit denen aus
.gpg-agent-info überein, wenn Du ihn so startest:
Code:
gpg-agent --daemon --enable-ssh-support \
               --write-env-file "${HOME}/.gpg-agent-info"
 
Welche genau setzt Du denn?
Code:
if [ -f "${HOME}/.gpg-agent-info" ]; then
        . "${HOME}/.gpg-agent-info"
        export GPG_AGENT_INFO
        export SSH_AUTH_SOCK
fi
GPG_TTY=$(tty)
export GPG_TTY
Stimmen die auch mit denen aus
.gpg-agent-info überein, wenn Du ihn so startest:
Code:
gpg-agent --daemon --enable-ssh-support \
               --write-env-file "${HOME}/.gpg-agent-info"
Genau so starte ich gpg-agent. Die Variablen in der gpg-info sind mit denen aus dem env identisch.
 
Zurück
Oben