YubiKey 02 – Einmalpasswörter (OTPs) speichern

Mittlerweile bieten fast alle großen Dienste eine Zwei-Faktor-Authentifizierung an. Neben Benutzername und Passwort wird ein weiterer, zweiter Faktor für die Anmeldung benötigt, der über eine App oder auch über einen Hardwaretoken, wie den YubiKey, erzeugt werden kann. Der weitere Faktor besteht meistens aus 6 Zahlen und hat jeweils eine Gültigkeit von 30 bis 60 Sekunden. Nach Ablauf der Zeit verliert er seine Gültigkeit und ein neues OTP wir benötigt, deshalb auch Einmalpasswort (= One-Time-Passwort).

Der YubiKey unterstützt OTP auch. Es werden die Informationen zum Erstellen der Einmalpasswörter auf dem YubiKey gespeichert und können dann mit einer kostenlosen Software auf jedem Endgerät ausgelesen werden.

Zwei-Faktor-Authentifizierung am Raspberry Pi einrichten

Die Zwei-Faktor-Authentifizierung ist ja zurzeit in aller Munde, da sie eine sichere Möglichkeit für die Anmeldung an Applikationen und Systemen darstellt. Auch an einem Pi kann man sich mit seinem Passwort und einer PIN anmelden.

Bitte beachtet, dass für diese Form der Zwei-Faktor-Authentifizierung zwingend die App Google Authenticator auf eurem Smartphone installiert sein muss. Wer mehr Informationen zum Google Authenticator sucht, wird auf Wikipedia fündig ➡ https://de.wikipedia.org/wiki/Google_Authenticator

Die Installation auf dem Pi ist direkt aus den Repositories möglich.

sudo aptitude install libpam-google-authenticator 

Installation Google Authenticator
Installation Google Authenticator

Nach der erfolgreichen Installation kann man den Authenticator auf dem Pi mit dem Befehl starten:

google-authenticator

Es gilt jetzt nur noch den QR-Code mit der installierten App auf eurem Smartphone zu scannen.

Achtung:

Sichert unbedingt die 5 Notfall-PINs. Solltet ihr mal eurer Smartphone mit der Google Authenticator App nicht zur Hand haben, könnt ihr euch damit am Pi noch anmelden.
Die 4 Fragen habe ich mit yes, yes, no, yes beantwortet und damit ist die Konfiguration auch schon abgeschlossen.

Google Authenticator
Google Authenticator

Nun sind noch an zwei Skripten eine kleine Anpassungen vorzunehmen.

sudo nano /etc/pam.d/sshd 


Fügt am Ende der Datei die Zeile hinzu: auth required pam_google_authenticator.so

/etc/pam.d/sshd
/etc/pam.d/sshd

sudo nano /etc/ssh/sshd_config


Sucht in der Datei den Eintrag ChallengeResponseAuthentication und ändert no auf yes ab.

/etc/ssh/sshd_config
/etc/ssh/sshd_config

Zum Schluß startet ihr den SSH-Dienst neu.

sudo service ssh restart

Die Anmeldung an eurem Pi sieht in Zukunft so aus:

Zwei-Faktor-Authentifizierung
Zwei-Faktor-Authentifizierung

Nachtrag

Ich bin seit kurzem umgestiegen auf eine neue OTP-App. Anstatt den Google Authenticator, wie oben beschrieben zu verwenden, nutze ich FreeOTP. An der App gefällt mir besser,

  • sie ist übersichtlicher
  • es lassen sich Icons für jeden Account vergeben
  • die OTPs lassen sich sortieren
  • etc.
FreeOTP Authenticator
FreeOTP Authenticator
Entwickler: Red Hat
Preis: Kostenlos
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
  • FreeOTP Authenticator Screenshot
Google Authenticator
Google Authenticator
Entwickler: Google LLC
Preis: Kostenlos
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot
  • Google Authenticator Screenshot