Kurztipp: Datei(en) mittels gpg mit einem Kennwort verschlüsseln

Mit gpg kann man ganz einfach Dateien mit einem Passwort verschlüsseln, um die darin enthaltenen Informationen a) vor neugierigen Blicken zu schützen und b) diese innerhalb eines Scripts wieder hervorzuzaubern.

Datei verschlüsseln

Wir haben ein Datei namens „geheim.txt“ und möchten diese mit dem Kennwort „qwertz“ verschlüsseln. Und das geht so:

$ echo "Geheime Informationen" > geheimnis.txt

$ gpg --symmetric --passphrase qwertz geheimnis.txt 

$ ls geheim*
geheimnis.txt  geheimnis.txt.gpg

Die verschlüsselte Datei erhält die Endung .gpg, die originale Datei bleibt erhalten.

Datei entschlüsseln

GPG kann auf die Standardausgabe entschlüsseln, was praktisch für das Scripting ist. Beispiel:

$ gpg --decrypt geheimnis.txt.gpg | tr "a-z" "A-Z"
gpg: AES verschlüsselte Daten
gpg: Verschlüsselt mit einer Passphrase
GEHEIME INFORMATIONEN

Ich nutze dies beispielsweise, um mit der Eingabe eines Kennwortes vier verschiedene, mit encfs verschlüsselte Verzeichniss zu mounten, deren Mountpoints und Passwörter in einer mit gpg verschlüsselten Datei hinterlegt sind. Ein wenig zeilenweises Auslesen mit „| while read line“ und anschließendem „cut“ und fertig ist das kleine Script.

Will man den Inhalt der Datei stattdessen wieder in eine unverschlüsselte Datei zurückschreiben, gibt man zusätzlich ihren Dateinamen an:

$ gpg -d -o entschlüsselt.txt geheimnis.txt.gpg