L | F | D | W |
|
---|---|
SSH mit Google-Authenticator und 2FA einrichten Neben vielen Möglichkeiten 2FA einzurichten ist auch der Google-Authenticator eine Möglichkeit. Hier möchte ich an Hand SSH zeigen, mit welchen Tools man die Secure-Shell zusätzlich mit 2FA absichern kann. 1. Installation und Einrichten des Google-Authenticator Zunächst installieren wir zunächst die erforderlichen Pakete. $ sudo dnf install google-authenticator ![]() Nun starten wir Google-Authenticator und folgen den Anweisungen am Bildschirm. Wir müssen ein paar Einstellungen angeben und erhalten am Ende einen QR-Code für die Android- und IOS-Apps für die 2FA. Für Android und IOS gibt es die Apps Google-Authenticator und Microsoft-Authenticator, mit denen man den QR-Code einscannen und die Verknüpfung einrichten kann. $ google-authenticator ![]() ![]() 2. PAM-Module /etc/pam.d/sshd anpassen Die Konfiguration des PAM-Moduls sollte wie folgt aussehen. In die letzte Zeile des PAM-Modules /etc/pam.d/sshd muss diese Zeile eingetragen werden. Um die Datei ~/.google_Authenticator auszuführen ist es nicht notwendig secret(Dateiname> anzuführen, solange SELinux deaktiviert ist. Leider ist die Konfiguration für SELinux etwas mühsamer, wenn man direkt im Home-Verzeichnis die Datei ablegt. Je nach Linux und Version kann es schwierig werden SELinux dazu zu bewegen google-authenticator auszuführen. Es wird immer eine temp-Datei unter ~/ abgelegt und das wird immer abgelehnt. Wer sich mit SELinux auskennt kann man sich eine eigene Einstellung bauen. jedoch erfordert das viel Aufwand und Wissen. Es gibt aber die Möglichkeit die Datei in ~/.ssh abzulegen. Hier sind die nötigen SELinux Einstellungen vorhanden und es gibt kein Problem mehr. Zusätzlich muss aber jetzt secret(Datei) für alle Home-Verzeichnisse angegeben werden. auth sufficient pam_google_authenticator.so secret=~/.ssh/.google_authenticator 3. Einrichten der Secure- Shell Im nächste Schritt sind unter /etc/sshd_config die nötigen Einstellung für weitere Authentifizierungsverfahren einzutragen. Hier sind die folgenden Eintragungen wichtig. Es kann unter /etc/sshd_config.d/ noch Konfigurationsfiles geben. Es ist darauf zu achten, dass diese Einstellungen nicht bereits hier stehen, oder doppelt und entgegen lautend eingetragen wurden. Sonst lässt das Service sshd eventuell nicht starten. PasswordAuthentication no # disable password based auth (optional) Abschließend ist der Service sshd.service neu zu starten. $ sudo systemctl restart sshd.service Damit hätten wir alle notwendigen Einstellungen gemacht. Jetzt testen wir es. Wir erhalten gleich nach der Passworteingabe die Aufforderung zur Verifikation. ![]() Damit hätten wir es. Natürlich ist das nur ein Weg, der nicht bei allen genauso funktioniert. Abhängig von der Linuxdistribution und Version können andere Einträge notwendig werden. Weitere Quellen und Suchbegriffe: google-authenticator, ssh, 2FA,(https://github.com/google/google-authenticator). geändert, 18. Nov 2022, 23:52 Copyright © 2025 by Philipp |