GPG/Terminal

Aus Palita

< GPG
Wechseln zu: Navigation, Suche
Warning.svg
Dieser Artikel ist noch nicht vollständig, Details dazu findest du evtl. im Quelltext oder auf der Diskussionsseite. Hilf mit diesen Artikel zu ergänzen!

Du kannst GPG natürlich auch im Terminal verwenden. Das funktioniert sowohl unter Linux, als auch unter MacOS X und Windows. Gründe, um mit GPG im Terminal zu arbeiten gibt es viele, sei es, um etwas zu automatisieren (Bash, Applescript / Automator, Windows-Batch, ...), eine GPG-Funktion aus einem anderen Programm heraus aufzurufen, oder einfach weil die grafische Oberflächen (wie z.B. bei den Mac-GPG-Tools) eingeschränkt sind.

Inhaltsverzeichnis

Installation

Die Installation wird hier nicht behandelt. Zum Installieren siehe im Artikel passend zu deinem Betriebssystem im Hauptartikel GPG. Für diese Anleitung wird vorausgesetzt, dass du GPG bereits installiert hast und es mit dem Befehl gpg ausführen kannst. Es wird außerdem angenommen, dass dein Terminal die Bash (Bourne Again Shell) benutzt, was standardmäßig auf Linux und MacOS X zutrifft. Für andere Shells, wie z.B. die Windows-eigene cmd, könnten einige Befehle möglicherweise nicht korrekt funktionieren bzw. andere Schreibweisen haben.

Privaten Schlüssel erstellen

Zur Erstellung eines privaten Schlüssels bietet GPG eine interaktive Abfrage. Du startest die Erstellung mit dem Befehl

gpg --gen-key

Es erfolgt die erste Abfrage, welche Art von Schlüssel erstellt werden soll.

benutzer@notebook:~$ gpg --gen-key 
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
   (1) DSA und Elgamal (voreingestellt)
   (2) DSA (nur unterschreiben/beglaubigen)
   (5) RSA (nur signieren/beglaubigen)
Ihre Auswahl?

Hier wählt man standardmäßig (1) DSA und Elgamal, da mit dieser Art sowohl ver/entschlüsselt, als auch signiert/überprüft werden kann. Gib also einfach eine 1 ein und drücke Enter.

Es folgt die nächste Abfrage, wie lang der Schlüssel sein soll. Dabei gilt:

  • Je länger, desto sicherer
  • Je kürzer, desto schneller erfolgt die Verarbeitung (verschlüsseln, signieren etc.)
  • Mögliche Größen: 1024 bis 4096
  • Empfohlen: mindestens 2048, bestenfalls 4096

Du gibst also deine gewünschte Länge ein und drückst erneut auf Enter. Es erfolgt etwa folgende Ausgabe:

Das DSA-Schlüsselpaar wird 1024 Bit haben.
ELG-E Schlüssel können zwischen 1024 und 4096 Bits lang sein.
Welche Schlüssellänge wünschen Sie? (2048) 4096
Die verlangte Schlüssellänge beträgt 4096 Bit
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
         0 = Schlüssel verfällt nie
      <n>  = Schlüssel verfällt nach n Tagen
      <n>w = Schlüssel verfällt nach n Wochen
      <n>m = Schlüssel verfällt nach n Monaten
      <n>y = Schlüssel verfällt nach n Jahren
Wie lange bleibt der Schlüssel gültig? (0) 

Dabei wird gefragt, wie lange dein Schlüssel gültig, also verwendbar sein soll. Nach abgelaufener Zeit kannst du mit ihm nicht mehr Arbeiten. In diesem Beispiel belassen wir die Einstellung durch einfaches drücken von Enter bei der Standardeinstellung (0), wodurch der Schlüssel nie verfällt. Es erfolgt noch eine Bestätigungsaufforderung, der man durch j und erneut Enter zustimmt.

Schlüssel verfällt nie
Ist dies richtig? (j/N) j

Anschließend werden deine Benutzerinformationen benötigt, die du auch korrekt ausfüllen solltest, um es dir und anderen Benutzer zu ermöglichen, deinen Schlüssel zu identifizieren. Gib die angeforderten Benutzerinformationen ein und bestätige jeweils mit Enter.

Sie benötigen eine User-ID, um Ihren Schlüssel eindeutig zu machen; das
Programm baut diese User-ID aus Ihrem echten Namen, einem Kommentar und
Ihrer Email-Adresse in dieser Form auf:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Ihr Name ("Vorname Nachname"): Max Mustermann
Email-Adresse: muster@musterdomain.xyz
Kommentar: Mein Schlüssel
Sie benutzen den Zeichensatz `utf-8'
Sie haben diese User-ID gewählt:
    "Max Mustermann (Mein Schlüssel) <muster@musterdomain.xyz>"
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.

Jetzt wird noch nach einem Passwort gefragt. Dies sollte so sicher und lang wie möglich sein, damit der Schlüssel auch sicher ist. Lies im Passwörter-Artikel nach, falls du nicht genau weißt, was ein sicheres Passwort ausmacht.

Hinweis: Nach bewährtem Standard wird die Eingabe nicht angezeigt. Auch erscheinen keine Sternchen-Symbole (*) pro getipptem Zeichen. Wundere dich also nicht, warum du dein Passwort nicht eingeben kannst. Es funktioniert.

Geben Sie die Passphrase ein: 
Geben Sie die Passphrase erneut ein: 

Es folgt eine einige Zeit dauernde, seltsame Ausgabe. Während dieser Zeit ist es sinnvoll deinen PC in irgend einer Weise zu benutzen. Surf im Internet, beweg die Maus, mach einfach irgendwas, damit der PC zufällige Daten erhält, die für den Schlüssel benötigt werden, um ihn sicher zu machen. Dieser Vorgang dauert je nach Schlüssellänge und Leistung des PC <1 bis >10 Minuten.

Wir müssen eine ganze Menge Zufallswerte erzeugen.  Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
++++++++++++++++++++++++++++++.+++++++++++++++++++++++++.+++++++++++++++.++
++++++++++++++++++..++++++++++++++++++++++++++++++++++++++++>++++++++++>+++
++......................<+++++.....+++++

Es sind nicht genügend Zufallswerte vorhanden.  Bitte führen Sie andere
Arbeiten durch, damit das Betriebssystem weitere Entropie sammeln kann!
(Es werden noch 284 Byte benötigt.)
Wir müssen eine ganze Menge Zufallswerte erzeugen.  Sie können dies
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.
.+++++.+++++....+++++..++++++++++.+++++.++++++++++...++++++++++..+++++.+++.
+++++++.+++++..+++++..+++++.+++++...+++++++++++++++...+++++.++++++++++..+++
++++++++..+++++...+++++++++++++++.++++++++++..++++++++++>+++++...++++++++++
+.+++++++++++++++...+++++.+++++.++++++++++>+++++>.+++++>.+++++>+++++.......
...........................................<..+++++........................
......................................................................>....
++++.......................<+++++.>..+++++.............................>.++
++....<.+++++.......................<+++++........>+++++...............>+++
+.................<+++++.+++++^^^
gpg: /home/benutzer/.gnupg/trustdb.gpg: trust-db erzeugt
gpg: Schlüssel BEA75B32 ist als uneingeschränkt vertrauenswürdig gekennzeichnet
Öffentlichen und geheimen Schlüssel erzeugt und signiert.

gpg: "Trust-DB" wird überprüft
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell
gpg: Tiefe: 0 gültig:   1 signiert:   0 Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u
pub   1024D/BEA75B32 2009-04-16
      Schl.-Fingerabdruck = 7551 31D1 D7FF EAE6 734D  D485 F805 BA9A BEA7 5B32
uid                  Max Mustermann (Mein Schlüssel) <muster@musterdomain.xyz>
sub   4096g/5C7B29EF 2009-04-16

Damit ist dein Schlüssel fertig angelegt. Du siehst seine Eigenschaften in den letzten 4 Zeilen, in diesem Fall besitzt der Schlüssel die ID BEA75B23 und den Fingerabdruck 7551 31D1 D7FF EAE6 734D D485 F805 BA9A BEA7 5B32. Der Schlüssel kann in Zukunft entweder über die ID oder auch über die uid (Emailadresse) identifiziert werden.

Öffentlichen Schlüssel exportieren

Du kannst deinen öffentlichen Schlüssel als ASCII-formatierte Datei exportieren, um ihn weiterzugeben und anderen Benutzern somit zu ermöglichen, sicher mit dir zu kommunizieren.

Der Befehl zum Export lautet

gpg --armor --export deine@email.de

Zur Erklärung:

  • gpg ruft das GnuPG-Programm auf
  • --armor sorgt für eine Ausgabe im Textformat
  • --export gibt dem Programm die Anweisung den Schlüssel zu exportieren
  • deine@email.de ist die uid des Keys, der exportiert werden soll, hier kann natürlich auch die ID angegeben werden (z.B. BEA75B23)

Es folgt die direkte Ausgabe des öffentlichen Schlüssels, z.B.

benutzer@notebook:~$ gpg --armor --export deine@email.de
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEY90ZYRBACIi9ziglq1FCh6pyO0WvAfQTaxb0IsI9a56O4WwolwHL3DK8E5
c48WEZUz8WzSAGEfwKkyXefblOlpnJxkRdZ0DeUZJTZ2WgmO1iDjpJxnf06sfocQ
[... noch viel mehr ... ]
e5OfXP1o9HAqVCAAnjq53PxkB66L8sBQzjM9I3WAeSe2
=EgUX
-----END PGP PUBLIC KEY BLOCK-----

Diesen Key kannst du jetzt weitergeben, z.B. auf deiner Homepage veröffentlichen, in Textdateien (häufiger Standard: deinname.asc, wobei asc für ASCII - also reinen Text - steht) speichern, etc.

Du kannst die Ausgabe auch direkt in eine Datei umleiten, das funktioniert mit dem Zusatzparameter --output datei.asc, der Schlüssel wird dann in die Datei datei.asc gespeichert.

Beispiel:

benutzer@notebook:~$ gpg --output datei.asc --armor --export deine@email.de
# Verzeichnisinhalt auflisten
benutzer@notebook:~$ ls
Bilder/  datei.asc  Desktop/  Dokumente/ Musik/  Öffentlich/  Videos/  Vorlagen/
# Inhalt der Datei datei.asc ausgeben
benutzer@notebook:~$ cat datei.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)
[... und wieder der Schlüssel ...]
-----END PGP PUBLIC KEY BLOCK-----

Wie man an den zwei Befehlen ls und cat sieht, wurde der Schlüssel in datei.asc gespeichert und enthält den eigenen Public-Key.

Öffentliche Schlüssel importieren

ToDo

Private Schlüssel importieren

ToDo

Dateien verschlüsseln

ToDo

Dateien signieren

ToDo

Dateien entschlüsseln

ToDo

Signaturen überprüfen

ToDo

Persönliche Werkzeuge
Dieses WIki wird nicht mehr gewartet!
Navigation
Sponsor