Mit Debian 8 könnt ihr euren SSH Login zusätzlich zu eurem Passwort noch mit einem One Time Passwort absichern. Dies erhöht die Sicherheit, da euer Passwort alleine dem Angreifer kein Zugriff auf euren Server gewährt.

In dieser Anleitung zeige ich euch, wie ihr diese 2 Faktor Authentifizierung innerhalb weniger Minuten aktiviert.

Dazu installiert ihr zuerst das benötigte Programm

apt-get update
apt-get install libpam-google-authenticator

Danach startet ihr das Programm mit folgendem Befehl:

google-authenticator

Nun durchlauft ihr die Konfiguration:

Do you want authentication tokens to be time-based (y/n) y

Diesen QR Code müsst ihr mit einer App wie Authy scannen. Am besten schreibt ihr euch auch die Notfall Codes auf, da ihr sonst eventuell keinen Zugriff auf euren Server mehr habt.

Danach solltet ihr diese Einstellungen wählen.

 

Do you want me to update your "/root/.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) y

By default, tokens are good for 30 seconds and 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. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

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

Nachdem ihr das Programm fertig konfiguriert habt müsst ihr nur noch die Debian SSH Konfiguration anpassen. Dazu öffnet ihr folgende Datei:

nano /etc/pam.d/sshd

Dort fügt ihr folgende Zeile am Ende hinzu:

auth required pam_google_authenticator.so

Danach speichert ihr die Datei und öffnet die nächste Konfiguration:

nano /etc/ssh/sshd_config

Hier sucht ihr die Zeile „ChallengeResponseAuthentication no“ und ersetzt dies durch „yes“.

ChallengeResponseAuthentication yes

Nun müsst ihr den SSH Dienst nur noch neu starten.

systemctl restart sshd.service

Öffnet nun eine neue Shell und lasst die alte noch offen, falls ihr Probleme habt.

Wenn ihr euch jetzt erneut anmeldet, dann sollte von euch ein „Verification Code“ erfragt werden.

Teile diesen Beitrag
Christian

3 Kommentare

  1. Hallo Christian

    Vorab, danke für die Anleitung. Vielleicht kannst Du das noch in die Kombination bringen, wenn der root-Login verboten ist. Wie kann ich die Challenge auf den Login eines anderen Nutzers ausdehenen?

    Grüsse Ben

  2. lässt sich der google Authenticator auch nutzen, wenn man gar kein Smartphone besitzt? Ein Auftraggeber, für den ich seit längerem regelmäßig freelance, hat nun kürzlich verpflichtend 2FA eingeführt, was mich gerade in die Breduille bringt eine technische Lösung für meine vorhandene Hardware (Debian 10, oldschool-Handy (nicht internetfähig und ohne Kamera) finden zu müssen.
    Hab mir schon die Finger wundrecherchiert, aber außer deiner Google-Authenticator-Anleitung bislang noch nichts Spruchreifes finden können.
    Würde mich über nen hilfreichen Tip sehrst freuen.
    Merci und liebe Grüße,
    Sarah

Schreibe einen Kommentar

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