{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreig4pvn7jfu7lfatn4xbmdgsdsskv753vypxzcjwxplpcbfckhffeq",
"uri": "at://did:plc:nkxz2ojdvmieg2nhphvputvp/app.bsky.feed.post/3mmlsya2pc2v2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreig3shhivyfegyheflzf6ueu7p344fkuuwxi6k4kucbb5gfftksvuq"
},
"mimeType": "image/jpeg",
"size": 77406
},
"description": "Zwei-Faktor-Authentifizierung auf FreeBSD SSH: Google Authenticator PAM-Modul, Challenge-Response in sshd_config, Benutzer-Setup mit QR-Code und Backup-Codes. Erhöht die Sicherheit merklich, unkompliziert einzurichten.",
"path": "/2024/03/29/freebsd-ssh-server-mit-mfa-2fa/",
"publishedAt": "2026-05-24T11:05:01.000Z",
"site": "https://www.kernel-error.de",
"tags": [
"2FA",
"FreeBSD",
"GoogleAuthenticator",
"Hardening",
"InfoSec",
"MFA",
"Security",
"SSH",
"Sysadmin",
"Google Authenticator",
"FreeBSD OpenSSH: OS-Banner sicher entfernen",
"SSH-Bruteforce, DigitalOcean und AbuseIPDB – warum Blocken das Problem nicht löst",
"Einfach melden."
],
"textContent": "SSH-Keys sind der Standard. Aber manchmal lässt es sich nicht vermeiden, dass ein Login nur mit Benutzername und Kennwort abgesichert ist. Um das aufzuwerten, lässt sich der SSH-Server mit einem zweiten Faktor ausstatten — hier mit dem Google Authenticator (TOTP) auf FreeBSD.\n\n### Installation\n\n\n pkg install pam_google_authenticator\n\n### PAM-Konfiguration\n\nIn `/etc/pam.d/sshd` das Google Authenticator PAM-Modul als zweiten `required`-Eintrag nach `pam_unix` einfügen:\n\n\n #\n # PAM configuration for the \"sshd\" service\n #\n\n # auth\n auth\t\trequired\tpam_unix.so\t\tno_warn try_first_pass\n auth\t\trequired\t/usr/local/lib/pam_google_authenticator.so\n\n # account\n account\t\trequired\tpam_nologin.so\n account\t\trequired\tpam_login_access.so\n account\t\trequired\tpam_unix.so\n\n # session\n session\t\trequired\tpam_permit.so\n\n # password\n password\trequired\tpam_unix.so\t\tno_warn try_first_pass\n\nDie Reihenfolge ist wichtig: Erst das Kennwort (`pam_unix`), dann der TOTP-Code. Auf dem gleichen Weg lässt sich MFA auch für `su`, den Konsolen-Login oder SSH-Keys einrichten — einfach das entsprechende PAM-File anpassen.\n\n### sshd_config anpassen\n\nIn `/etc/ssh/sshd_config` muss Challenge-Response aktiviert sein:\n\n\n # Seit OpenSSH 8.7 heißt die Option KbdInteractiveAuthentication\n # ChallengeResponseAuthentication ist ein Alias und funktioniert weiterhin\n KbdInteractiveAuthentication yes\n\nDanach `service sshd restart` — aber vorher sicherstellen, dass man noch eine offene Session hat, falls etwas nicht stimmt.\n\n### Authenticator einrichten\n\nAuf dem Smartphone den Google Authenticator installieren (oder eine andere TOTP-App wie Aegis, 2FAS oder den Microsoft Authenticator). Dann auf dem Server mit dem gewünschten Benutzer `google-authenticator` aufrufen:\n\n\n cd ~\n google-authenticator\n\nDas Tool zeigt einen QR-Code im Terminal, den man mit der Authenticator-App scannt:\n\nDanach den angezeigten Code einmal eingeben — fertig. Bei jedem Kennwort-Login wird jetzt zusätzlich der aktuelle TOTP-Code abgefragt.\n\n**Wichtig:** Das Tool zeigt auch Backup-Codes an. Diese unbedingt sicher aufbewahren — wenn das Smartphone verloren geht, kommt man sonst nicht mehr rein. Die Konfiguration liegt in `~/.google_authenticator` und kann dort auch nachträglich eingesehen werden.\n\nSiehe auch: FreeBSD OpenSSH: OS-Banner sicher entfernen, SSH-Bruteforce, DigitalOcean und AbuseIPDB – warum Blocken das Problem nicht löst\n\nUnter Linux ist die Einrichtung sehr ähnlich — das PAM-Modul heißt dort `libpam-google-authenticator`. Fragen? Einfach melden.",
"title": "FreeBSD SSH-Server absichern: MFA mit Google Authenticator einrichten"
}