Obsidian mit GitHub Repository per SSH synchronisieren
GitHub ist ein Plattform zur kollaborativen Softwareentwicklung auf der Dateien hoch und heruntergeladen werden können.
Über das Obsidian Plugin Obsidian Git kann diese Plattform zum hosten und für Backups von Obsidian-Notizen genutzt werden. Dafür werden die Notizen und alle Änderungen in einem eigenen privaten Repository gespeichert.
Das Lesen und Schreiben von Änderungen an den Notizen kann automatisiert und sicher über wahlweise HTTPS bzw. SSH erfolgen.
Nachfolgende Anleitung zeigt wie sich ein Obsidian Vaults mit einem GitHub Repository per SSH verbinden lässt.
Erstellung eines Key Pairs
Zur Absicherung der Verbindung wird ein Public/Private key pair benötigt. Für erhöhte Sicherheit wird der Zugriff auf den private key mit einer passphrase geschützt. Damit Anwendungsprogramme unkompliziert auf den private key zugreifen können wird dieser zum ssh-agent
hinzugefügt.
Erzeugung Public/Private key pair mit passphrase
Authentifizierung gegenüber GitHub
Nutzung der Schlüssel zur Authentifizierung gegenüber GitHub
Hinterlegen des public key im GitHub Account
Konfigurieren von SSH
Das SSH config file liegt by default hier:
~/.ssh/config
Folgende Werte müssen eingetragen werden:
host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_ed25519
Anpassung der Datei-Zugriffsrechte des config Files damit Obsidian diese einlesen kann, siehe GitHub tip
4 2 1
r w x
6 = r +w
sudo chmod 600 ~/.ssh/config
Obsidian Vault als lokales Repository initialisieren
Das lokale Repository wird im Wurzelordner des Obsidian Vaults mit folgenden Befehlen erstellt:
git init
git add .
git -m "init"
Remote Repository auf GitHub erstellen
Sollen die Notizen nicht öffentlich zugängig sein, muss ein privates Repository erstellt werden. In .gitignore können Dateien und Ordner angegeben werden die nicht mit dem GitHub Repository synchronisiert werden sollen.
https://github.com/new
Das auf GitHub erstellte remote Repository mit dem im Obsidian Vault erstellen lokalen Repository verbinden. Anschließen mit push
die Dateien einmalig vom Obsidian Vault in das Repository of GitHub schreiben:
git remote add origin git@github.com:USER-NAME:REPOSITORY-NAME.git
git push -u origin