Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Ubuntu 8.04 „Hardy Heron“
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
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gnupg-agent
sudo aptitude install gnupg-agent
Wichtig ist, dass man ein Passworteingabeprogramm mit installiert also
mit apturl
Paketliste zum Kopieren:
sudo apt-get install pinentry-gtk2 pinentry-qt
sudo aptitude install pinentry-gtk2 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
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 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 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.