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
Hallo,
dank deiner Anleitung bin ich auf die richtige Spur gekommen.
Allerdings funktioniert der Befehl: gpg –symmetric –passphrase qwertz geheimnis.txt
in 2024 nicht mehr. Es muss gpg –symmetric –batch –passphrase qwertz geheimnis.txt
Wobei statt Passwort „quertz“ auch eine Datei angeben werden kann
Gruß Wolfgang
Sorry,
für eine Passwort Datei muss es natürlich –passphrase-file lauten.