Zurück zur Startseite

Sichere Obsidian-Synchronisation: Git und Verschlüsselung

Detaillierter Leitfaden zur Einrichtung sicherer Notiz-Synchronisation in Obsidian mit Git und dem git-crypt-Tool für Ende-zu-Ende-Verschlüsselung. Der Artikel behandelt die Erstellung eines GPG-Schlüssels, die Initialisierung des Repositories, die Integration mit dem Obsidian Git-Plugin, die Einrichtung von pre-commit-Hooks und Backup-Methoden.

So synchronisieren Sie Obsidian mit Verschlüsselung: Vollständiger Leitfaden
Advertisement 728x90

Sicheres Obsidian-Sync mit Git und Ende-zu-Ende-Verschlüsselung

Obsidian-Notizen über Geräte hinweg zu synchronisieren und dabei die Daten privat zu halten, ist mit Git und dem Tool git-crypt für transparente Verschlüsselung kinderleicht. Diese Methode gibt dir volle Kontrolle über deine Notizen und macht dich unabhängig von proprietären Cloud-Diensten.

Umgebung einrichten und GPG-Schlüssel erstellen

Beginne mit der Installation der notwendigen Software. Auf Arch Linux: sudo pacman -S gnupg git-crypt; auf Debian/Ubuntu: sudo apt install gnupg git-crypt. Sichere dann die Berechtigungen deines GPG-Verzeichnisses:

chmod 700 ~/.gnupg
find ~/.gnupg -type f -exec chmod 600 {} \;
find ~/.gnupg -type d -exec chmod 700 {} \;

Erzeuge einen asymmetrischen Schlüssel mit gpg --full-generate-key. Wähle dabei:

Google AdInline article slot
  • Schlüsseltyp: RSA (Option 1).
  • Größe: 4096 Bits.
  • Ablauf: 0 (kein Ablauf).
  • ID-Daten: Name und E-Mail.
  • Passphrase: Pflicht für jedes Repo-Entsperren.

Für mehr Komfort: Cache die Passphrase 24 Stunden, indem du default-cache-ttl 86400 und max-cache-ttl 86400 in ~/.gnupg/gpg-agent.conf hinzufügst, dann gpgconf --reload gpg-agent ausführst.

Repository mit git-crypt initialisieren

Wechsle in deinen Notizen-Ordner und initialisiere ein Git-Repo: cd ~/notes && git init. Richte Verschlüsselung ein mit git-crypt init, dann füge deinen GPG-Schlüssel als vertrauenswürdig hinzu: git-crypt add-gpg-user --trusted [email protected].

Konfiguriere .gitignore und .gitattributes korrekt. In .gitignore Obsidian-Temp- und Systemdateien ausschließen:

Google AdInline article slot
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/cache
.trash/

In .gitattributes Dateien für git-crypt-Verschlüsselung angeben:

.gitattributes !filter !diff
.gitignore !filter !diff

*.md     filter=git-crypt diff=git-crypt
*.canvas filter=git-crypt diff=git-crypt
*.png    filter=git-crypt diff=git-crypt
*.jpg    filter=git-crypt diff=git-crypt
*.jpeg   filter=git-crypt diff=git-crypt
*.pdf    filter=git-crypt diff=git-crypt

Commit-Reihenfolge ist entscheidend: Zuerst .gitattributes, dann alles andere, um unverschlüsselte Daten zu vermeiden.

git add .gitattributes
git commit -m "$(date '+%Y-%m-%d %H:%M')"
git add .
git commit -m "$(date '+%Y-%m-%d %H:%M')"

Verschlüsselungsstatus prüfen mit git-crypt status | grep WARNING. Remote-Repo einrichten und pushen.

Google AdInline article slot

Integration mit Obsidian und Automatisierung

Installiere das Obsidian Git-Plugin (von Vinzent) über die Obsidian-Einstellungen für Git-Operationen wie Pull, Commit und Push direkt in der UI oder zeitgesteuert. Wichtige Regel: Immer das Repo mit git-crypt unlock im Terminal entsperren, bevor du Obsidian startest. Sonst siehst du Binärkram statt Notiztext, und das Plugin könnte fehlerhafte Commits pushen.

Sicherheit steigern mit einem Pre-Commit-Hook, der unverschlüsselte Dateien blockt. Erstelle eine ausführbare .githooks/pre-commit:

#!/bin/bash
for file in $(git diff --cached --name-only); do
    if git check-attr filter "$file" | grep -q "git-crypt"; then
        string=$(git show ":$file" 2>/dev/null | head -c 9)
        if [ "$string" != $'\x00GITCRYPT' ]; then
            echo "Datei '$file' ist nicht verschlüsselt – Vorsicht!"
            exit 1
        fi
    fi
done
exit 0

Git darauf hinweisen: git config core.hooksPath .githooks.

Migration und Backups

Zum Wechsel auf ein neues Gerät: Exportiere deinen geheimen GPG-Schlüssel: gpg --export-secret-keys --armor [email protected] > ~/key.asc. Sicher übertragen (z. B. via scp), importieren mit gpg --import, Repo klonen und git-crypt unlock ausführen. Schlüsseldatei danach auf beiden Geräten löschen. Backup deinen GPG-Schlüssel an einem sicheren Ort wie einem Passwort-Manager – ohne Schlüssel und Passphrase sind deine Notizen unzugänglich.

Alternative: Symmetrische Verschlüsselung

Falls GPG zu viel Aufwand ist, nutze symmetrische Schlüssel von git-crypt. Exportiere mit git-crypt export-key ~/key.bin, dann in Base64 umwandeln: base64 -i ~/key.bin. Den String im Passwort-Manager speichern. Auf anderem Gerät dekodieren und entsperren: echo "base64-string" | base64 -d > key.bin && git-crypt unlock key.bin. Achtung: Weniger sicher – kein extra Passphrase schützt den Schlüssel, Kompromittierung bedeutet Datenverlust.

Wichtige Vorteile

  • Volle Datenkontrolle: Notizen bleiben in deinem Git-Repo mit AES-256-Ende-zu-Ende-Verschlüsselung.
  • Nahtloser Workflow: Verschlüsseln/Entschlüsseln läuft automatisch über Git-Filter – du bearbeitest normale Markdown-Dateien.
  • Plattformübergreifend: Funktioniert auf Linux, macOS und Windows (via WSL oder nativem Git).
  • Automatisierte Synchronisation: Obsidian-Git-Plugin übernimmt zeitgesteuerte Commits und Pushes.
  • Zusätzlicher Schutz: Pre-Commit-Hook verhindert versehentliche Pushes unverschlüsselter Dateien.

— Editorial Team

Advertisement 728x90

Weiterlesen