ukleemann
Goto Top

SSH mit Publickey und OTP kein Login

Hallo liebe Kollegen und innnen,

ich versuche seit Tagen für meine Testmaschinen einenn ssh Zugang mit publickey und gogle Authenticator OTP einzurichten .
DDaz habe ich eien ssh key ohne passphrase erstelt, mittels ssh-copy-id auf den Zielserver kopiert wo er im Homeverzeichnis des Users in
.ssh/authorized_keys 
liegt.

Ich bin dabei danach vorgegangen:


Einrichtung
Bearbeiten
PAM-Modul installieren
Bearbeiten

apt-get install libpam-google-authenticator

2FA einrichten
Bearbeiten

google-authenticator --time-based --disallow-reuse --window-size=3 --step-size=30 --rate-limit=3 --rate-time=30

Den ausgegebenen QR-Code mit einer TOTP-App wie Google Authenticator oder FreeOTP+ aufnehmen. Das Geheimnis (Secret) und die Wiederherstellungscodes in einer KeePass-Datenbank speichern.

Das Programm erstellt die Datei ~/.google_authenticator.
Secure Shell
Bearbeiten

Die SSH-Anmeldung an unseren Servern soll nur noch mit Public-Key-Authentifizierung und einem Einmalkennwort möglich sein. Ausnahmen können konfiguriert werden.
PAM konfigurieren

Das PAM-Modul wird am Anfang der Datei /etc/pam.d/sshd eingefügt.

# PAM configuration for the Secure Shell service

# Google Authenticator
auth [success=done new_authtok_reqd=done ignore=ignore default=die] pam_google_authenticator.so

# Standard Un*x authentication.
@include common-auth

Die Zeile mit common-auth nicht auskommentieren.

Siehe https://wiki.ubuntuusers.de/PAM/ für eine Beschreibung von PAM.
SSHD konfigurieren

Die Datei /etc/ssh/sshd_config.d/10-totp.conf anlegen.

# Google Authenticator
UsePAM yes
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication yes
KbdInteractiveAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
PermitRootLogin yes

SSHD neu starten

systemctl restart sshd

Die Konsole nicht verlassen, bis der SSH-Zugang mit 2FA erfolgreich getestet worden ist.
SSH-Zugang testen

Die Anmeldung mit SSH aus einer zweiten Konsole testen. Die Ausgabe sollte Zeilen wie im folgenden Beispiel enthalten und die Eingabe eines mit der TOTP-App erzeugten Einmalkennworts verlangen.

$ ssh -v iz-example-1
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/foo/.ssh/id_ed25519 ED25519 SHA256:... agent
debug1: Server accepts key: /home/foo/.ssh/id_ed25519 ED25519 SHA256:... agent
Authenticated using "publickey" with partial success.  
debug1: Authentications that can continue: keyboard-interactive
debug1: Next authentication method: keyboard-interactive
(root@141.62.12.34) Verification code:


bis dahin komme ich gebe ich den Code ein erscheint sofort wieder: Verification code:


Debug wirft aus:


Authenticated using "publickey" with partial success.  
debug1: Authentications that can continue: keyboard-interactive
debug3: start over, passed a different list keyboard-interactive
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50


Ich finde den Fehler einfach nicht - vlt. bin ich auch zu blöde hat jemand eine Idee ?

DANKE im Voraus

Uli
Kommentar vom Moderator colinardo am Jan 14, 2025 um 09:55:52 Uhr
=> Papierkorb. Dritter Post zum selben Thema. Doppelposts sind hier verboten. Bitte an unsere Diskussionsrichtlinien halten und in den bereits bestehenden Beiträgen fortsetzen! Merci.

Doppelte Beiträge:
https://administrator.de/forum/ssh-mit-publickey-passwordauthentication- ... (Hier wurde übrigens auch schon die korrekte Lösung gepostet)
https://administrator.de/forum/keine-authentifizierung-mittels-otp-googl ...

Content-ID: 670683

Url: https://administrator.de/forum/ssh-mit-publickey-und-otp-kein-login-670683.html

Printed on: February 7, 2025 at 07:02 o'clock