Also, mit den Wünschen ist das ja so ein Ding. Man hat so seine Vorstellungen, wie etwas laufen sollte oder ein Programm gebaut seien müsste, damit es einem nützt, aber so richtig klappt das selten. Nach einem Programm zur Passwortverwaltung hatte ich schon vor längerer Zeit mal gesucht, aber war dann doch bei meiner verschlüsselten Datei und den selbstgebastelten Skripten geblieben. Jetzt bin ich aber auf KeePassXC gestoßen und ich muss sagen: »Träume können doch wahr werden« 🙂.

Ich will keine reine Verwaltung von Benutzernamen und Passwörtern, sondern möchte:

KeePassXC kann man nach dem Start einfach aufrufen und das Fenster minimieren. Über die Browser-Schnittstelle ist es für andere Programme möglich, die Passwortdatenbank abzufragen und KeePassXC verlangt eine Freigabe beim Zugriff. Somit sieht man auch mit der Browser-Erweiterung, wann auf die Daten zugegriffen wird. Nützlich ist dabei, dass für die Einträge mit aufgezeichnet wird, wann sie erstellt oder das letzte Mal genutzt wurden.

Für KeePassXC gibt es bei Debian ein Paket, so dass man es mit apt install keepassxc leicht installieren kann und auf der Webseite gibt es auch eine Kurzeinführung.

Passwörter von Firefox zu KeePassXC übertragen

Da ich im Firefox auch einige Passwörter hinterlegt hatte, habe ich diese mit der Erweiterung Password-Exporter in eine CSV-Datei exportiert; in den Firefox-Einstellungen nach Login suchen und dann Import/Export Passwords verwenden. Den Password-Exporter habe ich anschließend gleich wieder deinstalliert.

In KeePassXC kann man über Datenbank, Importieren, CSV diese Datei dann als neue Datenbank importieren. Da es eine neue Datenbank ist, muss man für diese auch ein neues Hauptpasswort vergeben. Im CSV-Dialog muss man dann als Codec Windows-1252 wählen, denn der Export ist nicht in UTF-8, und Erster Eintrag enthält Feldnamen. Für das Spaltenlayout kann man eigentlich nur die entsprechenden Spalten für Username, Password und URL wählen, denn mehr ist im Export nicht enthalten.

Als der Import abgeschlossen war und die Datenbank von KeePassXC gespeichert war, habe ich die Passwörter im Firefox gelöscht und auch die Option Remember logins and passwords for websites entfernt.

KeePassXC für Firefox einrichten

Für Firefox und auch andere Browser gibt es die Erweiterung KeePassXC-Browser, die den Zugriff auf die Passwörter vom Browser aus ermöglicht. Um die Erweiterung nutzen zu können, muss man in KeePassXC unter Werkzeuge, Einstellungen die Browser-Integration und den entsprechenden Browser aktivieren.

Im Firefox gibt es ein neues Symbol in der Leiste, über das man die Erweiterung steuern kann. Sowohl für die Registrierung der Browser-Instanz bei KeePassXC nach der Installation als auch für den Gebrauch. In den Einstellungen der Erweiterung habe ich bei mir die Redirect Offset auf 6000 ms gestellt, weil ich auf einigen Webseiten nicht schnell genug reagieren konnte.

Für Passwortfelder gibt es fortan ein zusätzliches Kontextmenü und einen gelben Schlüssel als Symbol. Über das Kontextmenü kann man sich Passwörter generieren oder die Formularfelder füllen lassen.

Anbindung von SSH

KeePassXC kann auch die SSH-Schlüssel verwalten. In einen Eintrag kann man den privaten Schlüsselteil und Fortgeschritten als Anhang einfügen. Nachdem der Eintrag gespeichert wurde, kann man unter SSH-Agent diesen Anhang auswählen. Als Kommentar für den öffentlichen Schlüsselteil wird der Benutzername des Eintrags verwendet und das Passwort des Eintrags wird zur Entschlüsselung eines verschlüsselten SSH-Schlüssels verwendet. Die Entschlüsselung ist vor allem interessant, wenn man keinen Anhang, sondern eine Datei verwendet.

Für einen häufig genutzten Schlüssel kann man zum Beispiel die Optionen Key zum Agenten hinzufügen und Key vom Agenten entfernen aktivieren, so dass mit dem Öffnen der Datenbank der Schlüssel auch gleich zum ssh-agent hinzugefügt wird. Ob dies funktioniert hat, kann man mit ssh-add -l prüfen.

Übersicht anpassen

Ich habe mir gleich einige Gruppen erstellt, um die Einträge etwas zu ordnen: Web, Logins, Dienste, Mailinglisten, Sonstiges. Man kann sich auch eigene Symbole für die Gruppen wählen und einige Standardeinstellungen für die Gruppe festlegen.

Bei der Tabelle mit den Einträgen kann man über das Kontextmenü des Tabellenkopfs Spalten ein- oder ausblenden und mit Passwörter ausblenden die Anzeige der Passwörter in der Tabelle bestimmen. Die Spalten lassen sich auch durch ziehen der Spaltenköpfe umsortieren bzw. durch einen Klick darauf lässt sich die Tabelle sortieren.

Auto-Type

Eine absolut praktische Funktion ist die Eingabe des Passworts durch KeePassXC. Für einen Eintrag kann man die Aktion Auto-Type ausführen aufrufen, woraufhin sich das Fenster von KeePassXC schließt und im Tastaturpuffer eine Eingabefolge hinterlegt wird. Das Fenster, welchen danach den Fokus bekommt, wird diese Eingabefolge auslesen und dementsprechend handeln.

Ich habe für die Gruppe Login die Standard-Eingabefolge angepasst und lasse nur {PASSWORD}{ENTER} senden. Am Häufigsten arbeite ich mit sudo oder su, die ich starte. Danach lasse ich von KeePassXC »das Passwort eintippen«, womit dieses beliebig lang und komplex seien kann. Außerdem hat diese Form der Passwortübermittlung den Vorteil, dass sie auch für sudo innerhalb von ssh funktioniert.

Es gibt auch noch ein globales Auto-Type, das in den Einstellungen von KeePassXC aktiviert werden muss. Damit kann man für einen Eintrag einen Fenstertitel festlegen, bei dem der Eintrag vorgeschlagen wird. Da ich meine Zsh so angepasst habe, dass im Fenstertitel der Rechnername und das Programm anzeigt wird, kann KeePassXC auch das richtige Passwort auswählen und ich brauche nur noch die Eingabe bestätigen.

Theoretisch könnte man auch die qemu-Console und sendkey verwenden, um Passwörter an eine VM zu senden. Aber dies habe ich noch nicht getestet.

Magische URLs

Die Adressen eines Eintrag können auch in der Form cmd://… sein, mit KeePassXC beim Klick darauf den Befehl ausführt. Damit kann zum Beispiel ein anderer Browser als der übliche aufgerufen werden oder ein ganz anderes Programm.

Mit der Adresse file://… kann man auch eine weitere Datenbank in KeePassXC öffnen. Wenn der Eintrag dann in der Gruppe AutoOpen liegt, wird die Datenbank automatisch mit der Hauptdatenbank geöffnet.