2FA für SSH – Google Authenticator unter Linux einrichten 2025

TOTP-basierte Zwei-Faktor-Authentifizierung für SSH-Logins

S
SeeColors IT
11. Juni 20264 Min. Lesezeit34 Aufrufe

Google Authenticator PAM installieren

apt install -y libpam-google-authenticator

# Für jeden Benutzer einrichten (als der Benutzer!)
su - admin
google-authenticator

# Fragen beantworten:
# Make tokens time-based? (y)         → TOTP
# Update .google_authenticator? (y)   → Datei anlegen
# Disallow reuse? (y)                 → Replay-Schutz
# Increase 30s window? (n)           → Standard: nein
# Enable rate-limiting? (y)           → Brute-Force-Schutz

# QR-Code scannen mit:
# Android: Aegis Authenticator (empfohlen, Open-Source)
# iOS: Raivo OTP
# Beide: Google Authenticator

SSH + PAM konfigurieren

# /etc/pam.d/sshd
# Am ANFANG der Datei einfügen:
cat > /etc/pam.d/sshd.new << 'EOF'
auth required pam_google_authenticator.so nullok
EOF
cat /etc/pam.d/sshd >> /etc/pam.d/sshd.new
mv /etc/pam.d/sshd.new /etc/pam.d/sshd
# /etc/ssh/sshd_config anpassen:
sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/AuthenticationMethods publickey/AuthenticationMethods publickey,keyboard-interactive/' /etc/ssh/sshd_config

# Oder manuell:
cat >> /etc/ssh/sshd_config.d/2fa.conf << 'EOF'
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
EOF

systemctl restart sshd

Testen (in neuem Terminal!)

# SSH-Login Ablauf mit 2FA:
1. SSH-Key wird akzeptiert
2. Prompt: "Verification code:"
3. TOTP-Code aus App eingeben (6-stellig)
4. Login erfolgreich!

Ausnahmen (bestimmte IPs ohne 2FA)

# /etc/pam.d/sshd - Whitelist für interne IPs
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/2fa-whitelist.conf
auth required pam_google_authenticator.so nullok

# /etc/security/2fa-whitelist.conf
+ : admin : 192.168.1.0/24
+ : ALL : ALL

Recovery-Codes sichern

# Google Authenticator zeigt bei Einrichtung 5 Scratch Codes
# Diese SICHER aufbewahren (z.B. Vaultwarden)

# Google Authenticator Datei anzeigen
cat ~/.google_authenticator
# Erste Zeile: Secret Key (Base32)
# Dann: Optionen
# Dann: Scratch Codes

FAQ

Was wenn ich den TOTP-Code verliere?
Recovery-Codes nutzen (5 Stück beim Setup). Falls keine vorhanden: Physischen Zugang zum Server nutzen (Konsole/KVM), google_authenticator-Datei löschen und neu einrichten.

Fazit

TOTP 2FA für SSH ist einfach einzurichten und erhöht die Sicherheit erheblich – auch wenn SSH-Keys gestohlen werden, ist der Server geschützt.

2FA und SSH-Sicherheit für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel