Tach, Nabend, GuMo oder was auch immer für euch gerade passt,
ich wollte nun mal nach mehreren Monaten Nutzung meine Erfahrung zu KeePass mit euch teilen.
Seit der Empfehlung von Riggie1000 (alter Thread) habe ich angefangen KeePass 2 auf meinem primären Windows-Rechner zu nutzen.
Das Design mag zwar nicht den Standards von 2025 entsprechen, tut aber was es soll - und das sehr gut!
Ein neuer Eintrag für ein neues Konto ist super schnell gemacht: Rechtsklick > New Entry > Name des Eintrags, Nutzername, Passwort, ggf. Notizen wie angegebene Telefonnummer, Mailadresse, Pincode oder was auch immer man sich so zu seinem Eintrag merken möchte.
Die Generierung von Passwörtern erfolgt dabei übrigens natürlich automatisch. Leider ergeben die Voreinstellungen m.M.n. wenig Sinn. Hierbei handelt es sich um Ein simples Passwort aus Groß- und Kleinbuchstaben, sowie Zahlen - keine Sonderzeichen oder Ähnliches. Eine weitere sinnlose Standardeinstellung: Mac-Adressen. Aber naja, wer es braucht hat es nun dort. Natürlich lassen sich aber noch andere Vorlagen für Passwörter Einstellen. So habe ich mir die Vorlage "main" Erstellt, die auch gängige Sonderzeichen enthält. Außerdem ist die Passwortlänge für diese Vorlage 20 Zeichen, also relativ stark. Wie gut das zufällig generierte Passwort dann tatsächlich ist, wird auch immer sehr gut mit einem Score unter dem Passwort bewertet.
Bald wollte ich die Passwörter, gerade für Apps wie Instagram, dann natürlich auch auf meinem Handy nutzen und habe mir dafür "Keepass2Android" (Google Play) heruntergeladen.
Datenbanken lassen sich hier schön aus einer Datei importieren und dann mindestens genau so schön wie unter Windows verwalten. Sogar Auto-Fill lässt sich für Apps und Websites einstellen, was einiges an manuellem Copy-Paste erleichtert - Aber natürlich muss man (im Idealfall) immer noch vor dem Auto-Fill die Datenbank manuell mit dem Master-Key oder mit biometrischer Verifikation (Finger, Gesicht) entschlüsseln.
Nun kam natürlich der Wunsch hinzu, die Passwörter zwischen Windows und Android zu synchronisieren. Dazu habe ich mir ganz einfach bei einem Anbieter meiner Wahl einen kleinen Ubuntu-Server für knapp 2€ im Monat gemietet und Mithilfe vom ChatGPT (Alternativ: Deepseek) dort einen FTP-Server eingerichtet. Das war durchaus etwas Fummelarbeit, weil meist einige Befehle von ChatGPT nicht genau so funktionierten, wie mein Assistent sich das ausgemalt hat, aber das war dann auch irgendwann gelöst.
Sobald das erledigt ist, kann man sich einmal selbst auf dem FTP-Server anmelden und dort eine Kopie der Datenbank-Datei mit den Passwörtern hochladen. Danach kann man ganz einfach im Passwort-Manager eine weitere Datenbank öffnen, denn hier steht nun auch die Option zum Öffnen einer Datenbank von einer URL zur Verfügung. Dort gibt man dann einfach den Pfad zur zuvor manuell hochgeladenen Datei ein, also beispielsweise ftp://123.456.789.123/KeePass/myPasswords.kdbx
Desweiteren erfordert das geöffnete Fenster Zugangsdaten zum FTP-Server. Diese trägt man ein, ich habe dann im Anschluss darunter angeklickt, das Programm solle sich Nutzernamen und Passwort merken, denn dann verhält sich alles am Ende wie der Zugriff auf eine lokale Datenbank-Datei. Sicherheitsbedenken hatte ich nur wenige, denn der Server beinhaltet lediglich die weiterhin verschlüsselte Passwort-Datenbank.
Strukturgleich ist dann die Einrichtung der Nutzung eines FTP-Servers am Handy.
Seit wenigen Tagen nutze ich nun meinen Laptop vermehrt, auf dem ich Ubuntu Desktop 24 laufen habe.
Hier lässt sich die selbe .exe wie auf Windows auch ausführen, wenn man sie mit Mono startet. Das kann ganz angenehm sein, falls man sich schon so eingewöhnt hat in die Windows-Version. Hier gibt es nur ein Problem: Die Mono-Implementieren funktioniert super für lokale Datenbanken; Auch FTP-Datenbanken herunterladen ist kein Problem, aber wenn man die Datei bearbeitet und auf dem FTP-Server hochladen/aktualisieren möchte, crasht das Programm - auch der Upload ist nicht abgeschlossen. Dieses Problem könnte wahrscheinlich mit einem etwas komplizierterem Work-Around von den KeePass Entwickler:innen behoben werden. Diese fokussieren sich aber bewusst auf die Windows-Version. Ohnehin ist dieses Problem ehrlich betrachtet eher eine mangelhafte Mono-Implementierung.
Für alle die sich umgewöhnen wollen bietet KeePassXC eine relativ modern aussehende und umfangreiche Implementierung der KeePass-Software. Als kleines Goodie, welches bei der Standard-Version nicht enthalten ist, soll man hier zum Beispiel OTPs (One-Time-Password) hinzufügen können, um sich etwa den 2-Faktor-Code für Börsen wie Xeggex dort generieren zu lassen.
Ein großes Problem gibt es aber: KeePassXC erlaubt nur lokale Dateien. Die Möglichkeit der FTP-Synchronisierung wird also etwas erschwert. Nach einigem Herumprobieren habe ich allerdings mit etwas künstlicher Inteligenz ein kleines Bash-Script entwerfen können:
- #!/bin/bash
- # FTP-Server-Details
- FTP_SERVER="45.132.89.164"
- FTP_USER="ftpuser"
- FTP_PASS="eD4IjVZ3Cb3nUd5maxvr"
- REMOTE_PATH="/KeePass/main.kdbx"
- LOCAL_PATH="/home/user/Documents/keys/main.kdbx"
- # Nutzerwahl abfragen
- echo "Bitte wählen:"
- echo "1) Datei hochladen"
- echo "2) Datei herunterladen"
- read -p "Eingabe (1/2): " choice
- # Funktion zum Erstellen eines Backups
- date_suffix=$(date +%s)
- backup_file() {
- if [ -f "$1" ]; then
- cp "$1" "${1}_backup_$date_suffix"
- echo "Backup erstellt: ${1}_backup_$date_suffix"
- fi
- }
- if [ "$choice" == "1" ]; then
- echo "Lade Datei hoch..."
- backup_file "$LOCAL_PATH"
- curl -T "$LOCAL_PATH" --ftp-create-dirs -u "$FTP_USER:$FTP_PASS" "ftp://$FTP_SERVER$REMOTE_PATH"
- echo "Upload abgeschlossen."
- elif [ "$choice" == "2" ]; then
- echo "Lade Datei herunter..."
- backup_file "$LOCAL_PATH"
- curl -o "$LOCAL_PATH" -u "$FTP_USER:$FTP_PASS" "ftp://$FTP_SERVER$REMOTE_PATH"
- echo "Download abgeschlossen."
- else
- echo "Ungültige Eingabe. Bitte 1 oder 2 eingeben."
- exit 1
- fi
Darin gibt man FTP-Zugangsdaten ein, sowie den Pfad zur lokalen wie FTP-Datenbank.
Wenn man das Script ausführt hat man die Wahl, die lokale Datei durch die aktuelle Server-Datei zu ersetzen (herunterladen), oder die Server-Datei durch die aktuell lokale Datei zu aktualisieren (hochladen). In beiden Fällen wird die lokale Datei inklusive Zeitstempel im selben Verzeichnis lokal dupliziert, um im Falle eines Fehlers die letzten lokalen Vorgängerversionen zu behalten.
Das ist mit etwas aufwand verbunden, allerdings ist dies völlig im Rahmen und der beste Work-Around, welchen ich bisher gefunden habe. Im Endeffekt startet man das Script einfach nur einmal bevor man die Datenbank neu öffnet, um die neuste Server-Version zu erhalten und falls man Änderungen vorgenommen hat, kann man diese schnell nach verschließen der Datenbank hochladen.
Ich hoffe ich konnte hiermit einigen ein paar hilfreiche Informationen geben. Eventuell fangen ja nun einige von euch an KeePass zu nutzen. Ich kann es aufgrund der sehr guten Struktur und der Quelloffenheit nur wärmstens empfehlen!