GnuPG/Agent: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „z.B.“ durch „z. B. “
K Textersetzung - „  “ durch „ “
Zeile 54: Zeile 54:


=Installation=
=Installation=
Wichtig ist außerdem, dass man noch ein Passworteingabeprogramm,z. B.  [[pinentry-curses|pinentry-curses]] für die jeweilige Desktop-Umgebung benötigt
Wichtig ist außerdem, dass man noch ein Passworteingabeprogramm,z. B. [[pinentry-curses|pinentry-curses]] für die jeweilige Desktop-Umgebung benötigt


  # apt install gnupg-agent pinentry-curses
  # apt install gnupg-agent pinentry-curses

Version vom 28. Mai 2023, 08:46 Uhr

topic kurze Beschreibung

Beschreibung

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt

Weblinks

Einzelnachweise

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


TMP

Hintergrundprogramm für gecachte Passwörter.

Funktion

  • Das automatisch von GnuPG für die Eingabe und das Cachen von Passwörtern verwendet wird.
  • Speichert das Passwort in einem Cache und fragt nur nach festlegbaren Zeitintervallen erneut danach.

Installation

Wichtig ist außerdem, dass man noch ein Passworteingabeprogramm,z. B. pinentry-curses für die jeweilige Desktop-Umgebung benötigt

# apt install gnupg-agent pinentry-curses

Optionen

Option Beschreibung
--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.

Links

Interne Links

  1. GPG
  2. pinentry-curses

Weblinks

  1. https://wiki.ubuntuusers.de/GPG-Agent/
  2. https://wiki.ubuntuusers.de/GnuPG/

TMP

gpg-agent

Vorlage:Überarbeiten Wie der ssh-agent (bei OpenSSH) dient der gpg-agent, der seit GnuPG 2.0.x integraler Bestandteil ist, unter anderem dazu, die Passphrase für einen konfigurierbaren Zeitraum im Arbeitsspeicher zu halten, sodass eine erneute Eingabe entfällt; gpg-agent speichert die Passphrase aber nicht nur, sondern übernimmt auch ihre Abfrage vom Anwender (über ein konfigurierbares Hilfsprogramm).

  • Anders als bei OpenSSH ist der gpg-agent allerdings ab Version 2 von GnuPG zwingender Bestandteil; in der künftigen Version 2.1 werden sogar alle Operationen, die private Schlüssel beinhalten, an gpg-agent ausgelagert, was es ermöglicht, die Schlüssel auf einem anderen Rechner zu speichern und nur noch indirekt zu verwenden.
  • Die zweite wichtige Aufgabe von gpg-agent bei GnuPG 2.0.x ist der Zugriff auf Smartcards.

Der Kontakt zu einer Instanz von gpg-agent, die nicht den Standardsocket verwendet (es können mehrere gleichzeitig laufen, was aber meist nicht sinnvoll ist), wird über eine Umgebungsvariable ermöglicht.

  • Ein Beispiel: Über den Befehl gpg-agent --daemon thunderbird wird der Mailclient Thunderbird gestartet, und zwar mit der Umgebungsvariable GPG_AGENT_INFO.
  • Diese enthält eine Zeichenkette wie /tmp/gpg-xY9Q7R/S.gpg-agent:2244:1 (Pfad des Socket, PID von gpg-agent (wird ignoriert) und Versionsnummer des Protokolls).
  • Hierdurch kann das Mailprogramm Kontakt mit dem jeweiligen gpg-agent aufnehmen und ihm den Umgang mit den privaten Schlüsseln (und deren Passphrase) überlassen.

Bei den meisten unixoiden Desktopumgebungen wird der gpg-agent gleich beim Start aktiviert.

  • Dadurch, dass das Startscript der Desktopumgebung diese Umgebungsvariable exportiert, haben alle Programme Zugriff darauf.
  • Wenn gpg-agent nicht läuft (oder nicht gefunden wird), wird es von gpg, gpgsm und gpgconf automatisch gestartet.
  • Zugriff auf einen laufenden gpg-agent kann man in der Konsole über das Programm gpg-connect-agent bekommen.
  • Mit dem Server kann man dann über das textbasierte Assuan-Protokoll[1] kommunizieren.
  • Man kann gpg-agent daher auch unabhängig von OpenPGP und OpenSSH zur Verwaltung von Passphrasen für eigene Programme nutzen. Über die Konfigurationsdatei gpg-agent.conf wird u. a.
  • festgelegt, über welchen Zeitraum eine Passphrase gecacht wird.

Man kann nicht direkt abfragen, welche Einträge gpg-agent gerade speichert, aber man kann testen, ob ein konkreter Eintrag vorhanden ist (und sich den auch anzeigen lassen).

  • GnuPG legt die Passphrase eines Schlüssels unter dessen Fingerprint ab (ggf.
  • dem des betroffenen Unterschlüssels):
   > gpg-connect-agent "GET_PASSPHRASE --data --no-ask 4F7E9F723D197D667842AE115F048E6F0E4B4494 t1 t2 t3" /bye
   D fubar
   OK

Ebenso kann man eine Passphrase setzen, sodass sie nicht vom Anwender abgefragt werden muss (etwa bei automatisierten Prozessen).

  • Dafür gibt es sogar eine eigene Anwendung: gpg-preset-passphrase.

Mit gpg-connect-agent kann man auch auf einfache Weise testen, ob gpg-agent überhaupt läuft (bzw. so läuft, dass es unmittelbar verwendet werden kann):

   # gpg-connect-agent /bye
   gpg-connect-agent: can't connect to the agent: IPC "connect" Aufruf fehlgeschlagen