Rund 20 Jahre lang hab ich mir alle Passworte merken können, doch mittlerweile wird dies immer unmöglicher. Man wird gezwungen, Passworte alle paar Monate zu ändern, man darf ein Passwort, das man vor 2 Jahren verwendet hat, nicht erneut benutzen, es muss mindestens 8 Zeichen haben, Sonderzeichen dürfen natürlich nicht fehlen, ausserdem muss es Gross- und Kleinschreibung beinhalten. Ach ja, dann kommt natürlich das Problem dazu, dass auf einer anderen Seite Sonderzeichen im Passwort NICHT vorkommen dürfen und das Passwort maximal nur 6 Zeichen beinhalten darf. Und ein vermeintlich unsicheres Passwort kann man sowieso nicht mehr verwenden. So. Und jetzt? Wie soll man sich das alles noch merken?

Wichtig ist für mich, dass die Lösung Windows- und Linux kompatibel ist. Ausserdem muss ich die Daten über mehrere Sticks Synchronisieren können.

Nach langem Hin- und Herüberlegen habe ich mich für folgende Lösung entschieden:

  • Ich habe mir einen Kingston DataTraveler 4000 G2 USB Stick gekauft
  • und KeePass Portable (Professional) drauf geladen

Die Passworte sind somit doppelt gesichert:

  • der USB Stick ist Passwort geschützt
  • KeePass ist ebenfalls nochmal Passwort geschützt

Wer also doppelte Sicherheit will, benutzt für den USB Stick und KeePass zwei unterschiedliche Masterpassworte.

Installation Ubuntu / Linux Mint

Fehler: System.IO.FileNotFoundException: Could not load file or assembly ‚System.Windows.Forms

Theoretisch müsste sich das .exe unter Linux Mint mit mono öffnen lassen (mono ist bereits vorinstalliert), doch bei mir kam es zu folgendem Fehler:

 $ mono KeePass.exe

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Was hier fehlt ist die system.windows.forms Library. Sobald man die installiert hat, kann man KeePass ganz normal starten.

$ sudo apt-get install libmono-system-windows-forms4.0-cil

Auto-Insert aktivieren

Damit der Auto-Insert der Passworte funktioniert, benötigt man noch xdotool

$ sudo apt-get install xdotool

Kingston USB Stick Autostart

Wenn man den Stick unter Linux einstöpselt, muss man immer erst das Terminal öffnen, zum Login Script gehen und dieses ausführen. Das ist ziemlich umständlich. Mit einem Start Script kann man das eleganter lösen:

cd /etc/udev/rules.d

dann ein File erstellen, z.b.

sudo vi 10-usbkingston.rules

und dann die Rule speichern:

KERNEL=="sr?", ATTRS{vendor}=="Kingston", ATTRS{model}=="DT4000 G2", ACTION=="add", RUN+="/usr/bin/logger Starte USB Drive.", RUN+="/bin/su DEINUSERNAME -c 'DISPLAY=:0 /usr/bin/gnome-terminal -e /media/DEINUSERNAME/DT4000G2/linux/linux64/dt4000g2_login'"

Wie man die diverse Attribute für die udev Rule auslesen kann, werden im offiziellen Wiki erklärt.

Jetzt öffnet sich automatisch ein Terminal, welches den dt400g2_login script ausführt. Ich hab es leider jedoch noch nicht hingekriegt, dass der Script fehlerfrei läuft. Es erscheint noch der Fehler „Beim Erzeugen des Kindprozesses für dieses Termin ist ein Fehler aufgetreten“ [..] (Datei oder Verzeichnis nicht gefunden)

Ich habe noch nicht herausgefunden, woran das genau liegt. Mit Klick auf den Button „Erneut starten“ wird der Login Script jedoch korrekt ausgeführt.

KeePass-Dateien zusammenführen / synchronisieren

Wenn man nun mehrere Sticks hat oder die Passwortdatenbanken auf verschiedenen PCs hat (z.B. Zuhause und im Büro), kann man die Daten ganz einfach Synchronisieren.

Voraussetzung dafür ist lediglich, dass die KeePass-Dateien das selbe Masterpasswort haben. (File -> Change Master Key)

Um zu Synchronisieren, mach einfach folgendes:

  • Starte KeePass mit deiner .kdbx Datei
  • Stöpsle den zweiten USB Stick ein
  • Wähle nun unter File-> Synchronize -> Synchronize with File die .kdbx Datei aus vom zweiten USB Stick.

Nun werden gleich beide .kdbx Dateien automatisch miteinander Synchronisiert. Somit sind gleich beide auf dem neusten Stand.