ukleemann
Goto Top

Ssh mit publickey PasswordAuthentication no Problem

Hallo Kollegen,

mal eine vlt. dumme Frage ich find den Fehler nicht

Ich habe ssh publickey mit 2FA OTP wie folgt eingerichtet:

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 10-totp.conf schaut so aus:

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

in der /etc/pam.d/sshd ist PasswordAuthentication auf no gesetzt.

wen ich versuche mich einzuloggen mit ssh -v hostname bekomme ich die Eingabeaufforderrung für das OTP gefolgt von der für das passwort. Wie muss ich das noch konfigurieren, damit kein passwort mehr aubgefragt wird?

Gruss

Uli

Content-ID: 670283

Url: https://administrator.de/contentid/670283

Ausgedruckt am: 19.12.2024 um 14:12 Uhr

gastric
gastric 19.12.2024 aktualisiert um 13:23:34 Uhr
Goto Top
Wie muss ich das noch konfigurieren, damit kein passwort mehr aubgefragt wird?
In der /etc/pam.d/sshd diese Zeile:
@include common-auth
ändern in
# @include common-auth

So das es am Ende so in der /etc/pam.d/sshd aussieht
# google authenticator
auth required pam_google_authenticator.so

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

# ...
# ..

Klappt hier damit einwandfrei (Debian 12 (Bookworm)):

/etc/sshd/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication yes
KbdInteractiveAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes

/etc/pam.d/sshd
# google authenticator
auth required pam_google_authenticator.so

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

# ... rest bleibt gleich

Test:

screenshot

Works as designed.

Gruß gastric
ukleemann
ukleemann 19.12.2024 um 13:41:15 Uhr
Goto Top
Hallo gastric,

DANKE für deine Hilfe doch das klappt so bei mir nicht . Problem ist ich weiss nicht wie mein Vorgänger das einst konfiguriert hat . Es gibt zwar eine Anleitung, doch die funktioniert nicht. s.o.

In Konkret: Kommentiere ich das include common-auth in der pam.d/sshd aus wird das OTP nicht mehr akzeptiert
füge ich auth required pam_google_authenticator.so hinzu funtioniert gar nichts mehr.

Auch kann ich die sshdconfig nicht verwenden sondern muss in /etc/ssh/sshd_config.d diese 10-totop.conf verwenden.

Ich kann auch nirgends eien Eintrag PasswordAuthentication yes finden , der es erklärte alle auf no gesetzt.

Gruss

Uli
gastric
gastric 19.12.2024 aktualisiert um 14:11:41 Uhr
Goto Top
Dann nenne doch bitte als erstes mal die verwendete Debian Version und poste alle deine Konfigurationsdateien für sshd und pam. uns das herbei Raten können wir hier leider nicht ... Funktioniert so wie gesagt auf einem aktuellen Debian Bookworm out of the box einwandfrei auf zig Systemen!
Auch kann ich die sshdconfig nicht verwenden sondern muss in /etc/ssh/sshd_config.d diese 10-totop.conf verwenden.
Spielt keine Rolle so lange die entsprechenden Werte oben dort überschrieben werden und in der sshd_config die Zeile Include /etc/ssh/sshd_config.d/*.conf steht.
Wir müssen aber auch wissen was in der sshd_config sonst noch steht, denn da lassen sich auch Ausnahmen für bestimmte User definieren.
Auch kann ich die sshdconfig nicht verwenden
Und warum eigentlich nicht? Bist du nicht der admin von dem System??

funtioniert gar nichts mehr.
"Funktioniert nicht" ist keine Fehlermeldung!! 🙄 Check deine Logs und das Journal und poste sie hier!
Serie: Der tägliche Wahnsinn Tagebuch eines armen Admins
Ssh mit publickey PasswordAuthentication no Problem3