Zum Inhalt

Tokens

Für die Verschlüsselung bevorzugen wir age, eine moderne und sichere Implementierung vom ehemaligen Hauptverantwortlichen für Kryptografie bei Google.

Die Passwortdateien werden dabei mit dem öffentlichen SSH-Schlüssel verschlüsselt. Den jeweils aktuelle SSH-Schlüssel erhaltet ihr via Gitlab Keys. Bei mir ist das dann unter folgender Adresse zu finden: https://gitlab.rrz.uni-hamburg.de/bax8491.keys

Bitte hinterlegt dazu eure SSH-Schlüssel in Gitlab.

Installation

Ist in der README von Age für alle Betriebssysteme verlinkt.

Vorgehensweise

Verschlüsselung

Erstellt eine Textdatei, die Zugangsdaten enthalten. Ich mache das hier über die Kommandozeile, aber denkt daran, dass die Logs also eure Passwörter enthalten.

echo hunter3 > password-file.txt

Jetzt wollen wir diese Datei für David verschlüsseln:

curl "https://gitlab.rrz.uni-hamburg.de/bax8491.keys" | age -R - --output password.age password.txt

password.age könnt ihr jetzt verschicken.

Entschlüsselung

Jetzt kann David die Datei mit seinem SSH-Schlüssel entschlüsseln:

age -i ~/.ssh/id_ed25519 -d password.age
Und erhält den Output direkt ins Terminal. Übertragt die enthaltenen Daten bitte in euren Passwordmanager (Ihr nutzt doch einen, oder? ;)

Verschlüsselung an mehrere

Age erlaubt mit der -R Flagge, dass eine Empfängerliste übergeben werden kann. Empfängerliste sollten pro Zeile einen SSH-Schlüssel enthalten, mit # beginnende Zeilen werden ignoriert.

age -R recipients.txt --output password.age password.txt

Möglicher Inhalt der recipients.txt:

# Davids Schlüssel
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDagPDACR7SyPSt8WCXy9RG2eT6kTrRryFLVVxLeUjh5

Weiteres

Richtet einen SSH-Key auf Gitlab ein, falls noch nicht vorhanden, sodass euch andere verschlüsselte Dateien schicken können.

Bitte lest die sehr informative Man-Page von age für weitere Anwendungsfragen. Für Intergrationen in Yubikeys und GUIs siehe hier: https://github.com/FiloSottile/awesome-age