Erfahrungsbericht und Anleitung - KeePass (Windows, Linux, Android)

  • 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:

    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!

  • Addendum:

    Auch mit der Standard-Implementierung auf Windows ist die Generierung von OTPs (One-Time-Password) einfach möglich. Diese Option habe ich leider zuvor übersehen. Daher hier noch ein kleines Tutorial:

    Erstellt oder bearbeitet man einen Eintrag, so befindet sich unten rechts ein Button "Tools", wobei sich nach Anklicken eine Liste öffnet mit der interessanten Option "OTP Generator Settings". Hier kann man nun das "Shared Secret" oder unten eine otpauth:// URL eintragen. Das Einfügen über das Scannen eines QR-Codes wie etwa in Google Auth am Handy ist nicht möglich.


    Auslesen kann man den aktuellen Code dann über Rechtsklick auf den Eintrag, danach Punkt 4 "Other Data >", dann "Copy Time-Based OTP". Für alle, denen das zu lange dauert, kann auch lediglich der Eintrag ausgewählt werden und der Code dann direkt über die Tastenkombination [Strg] + [T] kopiert werden.


    Zusammengefasst:

    OTP hinzufügen:

    -> Edit Entry > Tools > OTP Generator Settings > Shared Secret (oder unten "Import 'otpauth://' URI")

    Aktuelles OTP auslesen:

    -> Rechtsklick auf Eintrag > Other Data > Copy Time-Based OTP (oder schneller: [Strg] + [T] )

  • Man kann alle Einträge auch einfach per Doppelklick auf Benutzername, Passwort, TOPT, URL, etc direkt für einige Sekunden in die Zwischenablage kopieren. Das hält solange, wie unten rechts der grüne Balken abläuft. Danach wird der Eintrag aus der Zwischenablage wieder gelöscht.

    Um alle Daten direkt anzeigen zu lassen, einfach mit der Maus per Rechtsklick oben auf die Sortierleiste klicken, mit der man die Einträge sortieren kann wie im Windows-Explorer und auf Spalten konfigurieren klicken. Dann könnt ihr aussuchen, welche Spalten ihr euch alle anzeigen lassen wollt.

    Wenn man einen URL hinterlegt hat, kann man so per Doppelklick direkt die Webseite aufrufen. Ist der URL auf die Loginseite festgelegt, kann man automatisieren, dass die automatisch eingefügten Daten direkt bestätigt werden und man somit sofort auf der Webseite eingeloggt ist. Das funktioniert allerdings nur, solange die kdbx-Datei geöffnet ist. Das bedeutet, dass die eigenen Passwörter prinzipiell immer allen Leuten, die den lokalen Rechner bedienen können, ebenfalls zugänglich sind! Man kann aber mehrere Passwortdateien anlegen und somit dafür nutzen, dass relevante Passwörter immer nach Benutzung geschlossen werden, jedoch irrelevante Passwörter für z.B. Foren dauerhaft geöffnet sein können.

  • Das ist prinzipiell richtig, scheint bei mir aber nicht auf OTPs zuzutreffen. Natürlich kopiere ich Nutzernamen und Passwort i.d.R. mit Doppelklick. Wenn ich allerdings auf Configure Columns gehe, erscheint für mich keine Option, konfigurierte OTPs ebenfalls dort anzeigen zu lassen. Meine Optionen sind die folgenden:

    Standard Fields:

    Title, User Name, Password, URL, Notes, Expiry Time, Expiry Time (Date Only), Attatchments, Attatchments (Count), Tags, URL Override, UUID, Auto-Type - Enabled, Auto-Type - Sequences, Creation Time, Last Modification Time, History (Count)

    More:

    Size, Last Password Modification Time (Based on History)

    Custom Fields:

    HmacOtp-Secret, TimeOtp-Algorithm, TimeOtp-Period, TimeOtp-Secret, _etm_position_@exp_date, _etm_position_Ausstellungsdatum, _etm_position_Ausstellungsort, _etm_position_E-Mail-Adresse, _etm_position_Inhaber, _etm_position_Name, _etm_position_Notes, _etm_position_Nummer, _etm_position_Password, _etm_position_PIN, _etm_position_Sicherheitscode, _etm_position_SSID, _etm_position_URL, _etm_template, _etm_title_*, _etm_type_* (* bedeutet selbe Nachfolgen wie bereits bei _etm_position_*)


    Auch wenn alle Eintragungen mit TimeOtp-*, oder alle etm-Einträge mit PIN oder Sicherheitscode verlockend klingen, bietet keiner der Einträge die Spalteninformationen, welche ich suche. Natürlich kann man mit dem Placeholder {TIMEOTP} Auto-Type so konfigurieren, dass es automatisch eingefügt wird, aber mit Auto-Type bin ich noch nicht warm und bevorzuge das manuelle Kopieren über die Zwischenablage.

    Auch wenn die 3. gennante Liste "Custom" heißt, habe ich leider noch nicht herausgefunden, wie ich hier ggf. ein Field hinzufügen kann.

  • Ah okay.

    Mit Plugins werden zusätzliche Optionen ermöglicht. Dadurch können wesentlich mehr Spalten ausgewählt werden, welche teils unter "Custom" ersichtlich werden.

    Hinzugefügt werden die Felder unter 3., wenn man einen Eintrag editiert und dort im 2. Reiter "Erweitert" die Stringfelder benutzt.


    Ist der URL auf die Loginseite festgelegt, kann man automatisieren, dass die automatisch eingefügten Daten direkt bestätigt werden und man somit sofort auf der Webseite eingeloggt ist.

    Jedoch funktioniert das nicht bei allen Webseiten problemlos. Manchmal kann es vorkommen, dass Webseiten von Keepass falsch bedient werden und sich dadurch ständig neu laden. Um das zu beheben, muss man die Standard-Auto-Type-Sequenz des Eintrags ändern.