{
  "$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​"
}