SSH-Zwei-Faktor-Authentifizierung für Raspberry Pi (Linux) einrichten

In den letzten Jahren ist Zwei-Faktor-Authentifizierung immer beliebter geworden. Die Tools und Apps sind viel besser und die Einrichtung ist viel einfacher geworden.
Sogar der Raspberry Pi bringt inzwischen eine Zwei Faktor Authentifizierung mit. Diese lässt sich sehr einfach einrichten und fügt eine zweite sehr starke Schicht Sicherheit ein. Vor allem wenn man Passwörter mehrfach benutzt (was man nie tun sollte) ist man mit einer Two Factor Authentication auf der absolut sicheren Seite. Warum?
Wenn ein Hacker euer Passwort erbeutet hat (weil ihr es zum Beispiel bei einem anderen Dienst oder einer Webseite verwendet habt) kann er sich normalerweise an eurem System anmelden. Bei einer Zwei Faktor Authentifizierung benötigt man aber (wie der Name ja schon sagt) einen zweiten Faktor. Entweder ein biometrisches Merkmal, wie einen Fingerabdruck, oder einen Code der an einen zweites Gerät (Smartphone) gesendet wird. Auf diesen zweiten Faktor hat der Hacker keinen Zugriff.

Let’s go:

sudo nano /etc/ssh/sshd_config

Dann die Zeile ChallengeResponseAuthentication einfügen oder einschalten.

ChallengeResponseAuthentication yes

SSH neu starten

sudo systemctl restart ssh

Jetzt wird der zweite Faktor benötigt. Ich habe den Google Authentificator gewählt. Den installieren wir jetzt über App-/Play-Store auf dem Handy und auf dem Pi.

sudo apt install libpam-google-authenticator

So jetzt haben wir die Tools installiert. Jetzt nur noch konfigurieren:
Dazu den google-authenticator auf dem Pi aufrufen.

google-authenticator

Das sieht dann so aus:

! Wichtig !
Speichere dir auf jeden Fall diese “emergency codes” ab! An einer sicheren Stelle wie KeePass oder ähnlichem ab. Wenn ihr euer Handy verliert ist das die einzige(!) Möglichkeit sich mit SSH auf dem Pi anzumelden. und, bevor es jetzt einer probiert: Der QR-Code taugt nicht um sich auf dieser Seite oder dem Pi anzumelden.

Google Authentificator öffen und den QR-Code mit dem Handy scannen

Jetzt kommen auf dem Pi noch ein paar Fragen, die beantwortet werden wollen:

Do you want me to update your "/home/pi/.google_authenticator" file? (y/n) y
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) n

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

PAM-Modul einschalten:

sudo nano /etc/pam.d/sshd
auth required pam_google_authentificator.so

Die Zeile auth required pam_google_authentificator.so einfügen.

Jetzt kommt es darauf an, ob man den Hacker der das Passwort erbeutet hat ärgern will oder nicht.
Wenn ja, dann fügt man die Zwei Faktor Authentifizierung nach der Zeile @include common-auth ein.
Wenn nein, dann fügt man die Zwei Faktor Authentifizierung vor der Zeile @include common-auth ein.

SSH neu starten

sudo systemctl restart ssh

Jetzt von einem anderen Rechner

ssh pi@raspberry
Password:
Verification code:

Jetzt den Google Authentificator auf dem Handy öffnen.
Code bei “Verification code” eingeben.
Done

Bäm – Zwei-Faktor-Authentifizierung auf dem Raspberry Pi in 10 Minuten eingerichtet.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert