Dateien verschlüsseln mit gpg: Difference between revisions
(Created page with "Klassischer Anwendungsfall: Passwörter, die man nicht im Klartext irgendwo rumliegen lassen will = Schlüssel erzeugen = $ gpg --gen-key Alternative: $ gpg --full-gen-k...") |
No edit summary |
||
Line 1: | Line 1: | ||
Anwendungsfälle: |
|||
* Dateien verschlüsseln (e.g. Passwörter, die man nicht im Klartext irgendwo rumliegen lassen will) |
|||
* Git commits signieren |
|||
* ... |
|||
= Schlüssel erzeugen = |
= Schlüssel erzeugen = |
||
$ gpg --gen-key |
$ gpg --gen-key |
||
Danach werden Real Name, Email address und passphrase abgefragt. |
|||
Alternative: |
Alternative: |
||
Line 10: | Line 15: | ||
(alle Optionen werden abgefragt) |
(alle Optionen werden abgefragt) |
||
= Alle Keys auflisten = |
|||
$ gpg --list-keys |
|||
= Expire date ändern = |
|||
Per default ist der Key 2 Jahre lang gültig. Ändern lässt sich dies mit der Option ''gpg --edit-key <ID|Email>'': |
|||
$ pgp --edit-key foobar@example.de |
|||
Darauf kommt man in eine Subshell mit dem Prompt ''gpg>''. Durch Eingabe von ''''?'''' findet man die richtige Option: expire |
|||
gpg>? |
|||
gpg>expire |
|||
Changing expiration time for the primary key. |
|||
Please specify how long the key should be valid. |
|||
0 = key does not expire |
|||
<n> = key expires in n days |
|||
<n>w = key expires in n weeks |
|||
<n>m = key expires in n months |
|||
<n>y = key expires in n years |
|||
Key is valid for? (0) 25y |
|||
Key expires at Mon 04 Nov 2047 12:14:40 PM CET |
|||
Is this correct? (y/N) y |
|||
In diesem Fall haben wir den Key auf 25 Jahre Gültigkeit gesetzt. |
|||
Verlassen kann man das Menu mit q(uit): |
|||
gpg> q |
|||
Save changes? (y/N) y |
|||
= Datei ver- und entschlüsseln = |
= Datei ver- und entschlüsseln = |
Revision as of 11:24, 10 November 2022
Anwendungsfälle:
- Dateien verschlüsseln (e.g. Passwörter, die man nicht im Klartext irgendwo rumliegen lassen will)
- Git commits signieren
- ...
Schlüssel erzeugen
$ gpg --gen-key
Danach werden Real Name, Email address und passphrase abgefragt.
Alternative:
$ gpg --full-gen-key
(alle Optionen werden abgefragt)
Alle Keys auflisten
$ gpg --list-keys
Expire date ändern
Per default ist der Key 2 Jahre lang gültig. Ändern lässt sich dies mit der Option gpg --edit-key <ID|Email>:
$ pgp --edit-key foobar@example.de
Darauf kommt man in eine Subshell mit dem Prompt gpg>. Durch Eingabe von '?' findet man die richtige Option: expire
gpg>? gpg>expire Changing expiration time for the primary key. Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) 25y Key expires at Mon 04 Nov 2047 12:14:40 PM CET Is this correct? (y/N) y
In diesem Fall haben wir den Key auf 25 Jahre Gültigkeit gesetzt.
Verlassen kann man das Menu mit q(uit):
gpg> q Save changes? (y/N) y
Datei ver- und entschlüsseln
$ gpg -e <Dateiname>
verschlüsselt
$ gpg -d <Dateiname>
entschlüsselt
Beachte: Die Originaldatei bleibt erhalten, es wird lediglich zusätzlich eine Datei <name.gpg> angelegt.
Verschlüsselte Datei im vi öffnen
Hierfür muss man folgenden gpg/vimconfig Configschnipsel in seine .vimrc einfügen. Danach kann man die Textdatei direkt mit dem vim öffnen, beim Speichern wird man gefragt, welchen Schlüssel man verwenden will.
Gpg Keys gemeinsam nutzen
Zur gemeinsamen Nutzung einer verschlüsselten Datei kann ein User seinen Key exportieren. Andere User, die ihn importieren, können nun auf dieselbe Datei zugreifen.
Key exportieren:
$ gpg --export <keyname> > example.gpg $ gpg --export-secret-keys <name > example.key
Key importieren:
$ gpg --import example.gpg $ gpg --import example.key
Beim private Key muss das Passwort bekannt sein. Dieses kann der User nachher bei sich ändern:
$ gpg --edit-key <name> > passwd (der User, von dem importiert wurde, muss die alte Passphrase eingeben) (der neue User gibt seine eigene Passphrase ein)
Um hässlichen Warnungen vorzubeugen, will man noch das Trustlevel hochsetzen:
>trust
(4 oder 5 eingeben)
Anmerkung: Das Popup für die Eingabe des Passworts ist per Default eine gtk-Anwendung. Wer z.B. von einer Windows-Workstation mit einem putty kommt, hat hier ein Problem, weil X-forwarding nicht funktioniert. Hier hilft, seinen agent auf tty umzustellen:
$ export GPG_TTY=$(tty) $ gpg-connect-agent updatestartuptty /bye >/dev/null