Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Dieser Artikel beschreibt die Einrichtung des GPG-Agenten. Man kann ihn benutzen, wenn man oft mit GnuPG arbeitet, aber nicht ständig sein Passwort eingeben möchte. Das ist beispielsweise der Fall, wenn man Psi mit signiertem Status benutzt, aber nicht bei jeder Statusänderung das Passwort neu eingeben will. Der Agent speichert in dem Fall das Passwort in einem Cache und fragt nur nach festlegbaren Zeitintervallen erneut danach.
Falls der GPG-Agent noch nicht installiert ist, kann man ihn über das Paket gnupg-agent installieren. Wichtig ist, dass man ein Passworteingabeprogramm für die jeweilige Desktop-Umgebung mitinstalliert [1]:
gnupg-agent
pinentry-gtk2 (für GNOME, Xfce oder LXDE, ab Ubuntu 15.10 in universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gnupg-agent pinentry-gtk2
sudo aptitude install gnupg-agent pinentry-gtk2
oder ab Ubuntu 15.10 für GNOME:
gnupg-agent
pinentry-gnome3 (für GNOME, ab Ubuntu 15.10 )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gnupg-agent pinentry-gnome3
sudo aptitude install gnupg-agent pinentry-gnome3
oder für KDE:
gnupg-agent
pinentry-qt (für KDE in universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gnupg-agent pinentry-qt
sudo aptitude install gnupg-agent pinentry-qt
Der Agent sollte am Anfang einer Sitzung gestartet werden, da er eine Umgebungsvariable setzt, die allen Programmen, die den Agenten benutzen sollen, bekannt sein muss. Dazu wird auch automatisch ein Startskript in der Datei /etc/X11/Xsession.d/90gpg-agent angelegt. Es ist aber trotzdem noch nötig, im Heimatverzeichnis jedes Benutzers die Datei ~/.gnupg/gpg.conf mit dem Inhalt use-agent anzulegen. Der Befehl [2]:
echo "use-agent" >> ~/.gnupg/gpg.conf
erledigt das.
Um den GPG-Agenten an die eigenen Bedürfnisse anzupassen, kann man noch verschiedene Optionen einstellen:
Option | Bedeutung |
--daemon | normaler Aufruf um den Dämon zu starten |
--ignore-cache-for-signing | erzwingt eine erneute Passworteingabe um andere Schlüssel zu signieren |
--default-cache-ttl n | setzt die Zeit wie lange ein Passwort im Cache bleibt auf n Sekunden, Standard ist 600 |
--max-cache-ttl n | setzt die maximale Zeit wie lange ein Passwort im Cache bleibt auf n Sekunden, Standard ist 7200 (2 Stunden) |
--pinentry-program filename | setzt explizit das Passworteingabeprogramm auf filename |
Die Optionen fügt man entweder direkt mit Root-Rechten [3] in die Datei /etc/X11/Xsession.d/90gpg-agent ein, wodurch sie aber global für alle Benutzer des Systems gelten oder besser in die Datei ~/.gnupg/gpg-agent.conf, die für jeden Benutzer separat (ohne Root-Rechte) angelegt wird. Dort werden dann "--" bei jeder Option weggelassen und es wird jeweils eine neue Zeile angefangen. Mit folgendem Befehl wird eine Grundkonfiguration gespeichert:
echo -e "default-cache-ttl 18000\nmax-cache-ttl 86400\nignore-cache-for-signing" >> ~/.gnupg/gpg-agent.conf
Dieser Befehl hängt die Zeilen
default-cache-ttl 18000 max-cache-ttl 86400 ignore-cache-for-signing
an die Datei ~/.gnupg/gpg-agent.conf an (und erstellt sie, falls sie noch nicht vorhanden war). Dadurch bleiben Passwörter 18000 Sekunden (= 5 Stunden) im Cache, maximal (also auch bei häufiger Benutzung) jedoch 86400 Sekunden (= 24 Stunden) und zum Signieren von anderen Schlüsseln wird immer nach dem Passwort gefragt.
Diese Revision wurde am 26. Juli 2016 16:40 von Cruiz erstellt.