Ich hatte bisher den Google Authentificator verwendet, um für verschiedene Dienste wie Google, Amazon & Co. die 2-Faktor-Authentifizierung zu verwenden, was ich jedem nur ans Herz legen kann.

Zwar hatte ich mal eine Mitteilung gelesen, dass auch bitwarden / vaultwarden als Authenticator genutzt werden kann (ob es sinnvoll ist, Passwortmanager und Authenticator zusammen im selben Dienst zu verwenden, sei nun mal dahingestellt), aber da die Funktion nicht all zu offensichtlich ist, bin ich bis vor kurzem davon ausgegangen, dass die Funktion erst noch in Planung wäre.
Aber wenn man weiß, wo sie versteckt ist...

Aber da tut sich gleich ein Problem auf:
Wie bekomme ich die OTP-Infos (One Time Password) der Konten, die ich im Google Authenticator eingerichtet hatte, nach bitwarden?
Zwar hat der Google Authenticator eine Export-Funktion. Jene ist aber eher dafür gedacht, die Infos aus dem Google Authenticator auf ein anderes Handy mit ebenfalls dem installierten Google Authenticator zu übertragen, indem man sich einen QR-Code anzeigen lässt, welchen man mit dem anderen Handy abscannt.
Zwar haben einige Online-Dienste wie etwa Amazon die Möglichkeit, mehrere Authenticators hinzuzufügen, andere wie etwa Google aber nicht. Dort kann man nur den einen Authenticator entfernen und dann einen neuen hinzufügen. Ich möchte aber sowohl den Google Authenticator wie auch bitwarden erstmal parallel nebeneinander nutzen können, falls etwas schief läuft oder ich doch wieder zum Google Authenticator zurückkehren möchte.

Deshalb im Folgenden einmal erklärt, wie man bitwarden generell als OTP-Authenticator verwenden kann und wie man OTP-Accounts aus dem Google Authenticator exportieren und wo anders wieder importieren oder backupen kann.

OTP in bitwarden hinzufügen

Während andere Authenticator-Programme nach dem Motto funktionieren "Omnipräsenten Hinzufügen-Button antippen und QR-Code vom Computerbildschirm abscannen, dann ist das Konto hinzugefügt", ist die Funktion in bitwarden etwas versteckter...ergibt aber, wenn man genauer darüber nachdenkt Sinn, da ja alle möglichen Infos immer hinter einem "Zugangsdaten-Eintrag" abgelegt sind.

Von dem her gilt es, erst einmal in der Handy-Applikation, der Browser-Extension oder der Web-Vault nach dem entsprechenden Eintrag zu suchen und auf "Bearbeiten" zu klicken.

Nun hat man auf allen drei Wegen die Möglichkeit, den Authentifizierungsschlüssel hinzuzufügen.

Die Handy-Applikation bietet außerdem noch die Möglichkeit, wie vom Google Authenticator gewohnt einen QR-Code abzuscannen, welcher der Online-Dienst für welchen man die 2-Fakor-Authentifizierung nutzen möchte, bei der Einrichtung anzeigt.

Ein Authentifizierungsschlüssel hat das Schema
otpauth://totp/<dienstname>%3<verwendeter username>?secret=<secret>&issuer=<dienstname>, also zum Beispiel:
otpauth://totp/ACME%3me%40apfel-z.net?secret=92wk7tukzkbtaRUWpVT7SmyaNacVTBzU&issuer=ACME

Hat man bei einem Zugangsdaten-Eintrag einen Authentifizierungsschlüssel hinzugefügt, kann man über Handy-Applikation, Browser-Extension und Web-Vault jederzeit einen aktuellen TOTP-Schlüssel abrufen.

Das geht am angenehmsten natürlich über die Browser-Extension, wo man auf das Uhr-Icon klickt, worauf der Code in die Zwischenablage kopiert wird.
Alle Dienste, bei denen ein Authentifizierungsschlüssel hinterlegt ist, haben ein blaues Uhr-Icon.

Die Handy-Applikation zeigt außerdem eine Liste aller eingerichteter OTP-Accounts mit deren Code an.

OTP aus dem Google Authenticator exportieren

Ob es darum geht, auf einen anderen Authenticator umzusteigen oder ein Backup anzulegen: Der Google Authenticator ist kein Freund des offenen Exportes.

Beim Aufrufen der Export-Funktion zeigt er nur einen QR-Code an, welcher sich mit einem anderen Google Authenticator abscannen lässt. Zum Zwecke eines Backups lässt sich (standardmäßig ohne root-Verrenkungen) nicht einmal ein Screenshot anfertigen.

Mit dem Kommandozeilenprogramm extract_otp_secrets lässt sich der QR-Code, welcher der Google Authenticator in seiner Export-Funktion darstellt, auslesen.

Leider konnte ich das Programm auf dem Mac nicht verwenden – zumindest bis in Version 2.4.2 verlangt es beim Aufruf immer noch die Angabe einer inputfile die laut Dokumentation zum Abfotografieren eines QR Codes nicht notwendig wäre.
Unter Linux (und wohl auch unter Windows) lässt sich das Programm problemfrei per Kommandozeile starten, man hält den QR-Code des Google Authenticator vor die Webcam und bekommt die OTPs angezeigt.

Das kann z.B. so aussehen:

Name:    Google:apfelz@gmail.com
Secret:  n3Py7AzFyhFbVCSkuKQJJjaNpzSPPhAP
Issuer:  Google
Type:    totp

Den ausgegebenen Text kann man sich zum Zwecke des Backups irgendwo verschlüsselt abspeichern und/oder umformatieren, um den OTP zu einem anderen Authenticator wie etwa bitwarden hinzufügen zu können:

otpauth://totp/Google%3apfelz%40gmail.com?secret=n3Py7AzFyhFbVCSkuKQJJjaNpzSPPhAP&issuer=Google