ssh Keyboard Authentication: Wann wird der Google Authenticator-Code eingegeben?

1171
TresPaul

Diese Fragen scheinen verwandt zu sein:

Ich glaube, meine Umstände sind unterschiedlich genug, um einen neuen Thread zu beginnen.


Ich habe ssh für die Verwendung von PAM mit Google-Authenticator eingerichtet. Ich habe die notwendigen Leitungen zu beiden hinzugefügt /etc/ssh/sshd_configund /etc/pam.d/sshdund haben die Google Authenticator auf beiden Computern und der App einrichten. Der öffentliche Schlüssel jedes Systems wird auf das andere System kopiert.

In /etc/ssh/sshd_config:

PasswordAuthentication no ChallengeResponseAuthentication yes AuthenticationMethods publickey,keyboard-interactive:pam 

In /etc/pam.d/sshd:

#%PAM-1.0 auth required pam_securetty.so #disable remote root # require google authenticator auth required pam_google_authenticator.so # but not password #auth include system-remote-login account include system-remote-login password include system-remote-login session include system-remote-login 

Dies ist die Ausgabe von ssh -vvv 192.IP.address.0:

OpenSSH_7.4p1, OpenSSL 1.0.2j 26 Sep 2016 ... debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: ... ... debug2: service_accept: ssh-userauth ... debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/trespaul/.ssh/id_rsa debug3: send_pubkey_test debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 60 debug1: Server accepts key: pkalg ssh-rsa blen 279 debug2: input_userauth_pk_ok debug3: sign_and_send_pubkey Enter passphrase for key '/home/trespaul/.ssh/id_rsa':  debug3: send packet: type 50 debug3: receive packet: type 51 Authenticated with partial success. debug1: Authentications that can continue: **keyboard-interactive** debug3: **start over**, passed a different list keyboard-interactive debug3: preferred 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 debug2: **we sent a keyboard-interactive packet**, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (keyboard-interactive). 

Zwischen den letzten beiden Fett- / Doppelsternen ("Nächste Authentifizierungsmethode ist kbd interaktiv" und "Wir haben ein Paket gesendet"), werde ich nicht nach meinem OTP gefragt. Warum ist das? Was vermisse ich?

Zusatzinformation

Ich bin auf Arch. libpam-google-authenticatorvon AUR mit make installetc. installiert

Bearbeiten: Serverprotokoll

journalctl auf dem Server hat Folgendes:

systemd[1]: Started OpenSSH Per-Connection Daemon (10.0.0.5:38150). sshd[1376]: PAM unable to dlopen(/usr/lib/security/pam_google_authenticator.so): /usr/lib/security/pam_google_authenticator.so: cannot open shared object file: No such file or directory sshd[1376]: PAM adding faulty module: /usr/lib/security/pam_google_authenticator.so sshd[1376]: error: PAM: Module is unknown for paul from 10.0.0.5 sshd[1376]: Connection closed by 10.0.0.5 port 38150 [preauth] 

Vielen Dank.

0
Welche Fehler sehen Sie im Serverprotokoll? Jakuje vor 7 Jahren 1
Jakuje, danke, das hat mich völlig vergessen. Es scheint, dass `/ usr / lib / security / pam_google_authenticator.so` nicht vorhanden ist. Die Installation sagte jedoch, dass es erfolgreich zu / usr / lib / security hinzugefügt wurde. TresPaul vor 7 Jahren 0

2 Antworten auf die Frage

1
TresPaul

Also habe ich das mit gelöst

sudo cp '.../AUR Package/.libs/pam_google_authenticator.so' /usr/lib/security/pam_google_authenticator.so 

Der Fehler war die fehlende .soDatei, was darauf hindeutet, dass etwas schiefgegangen ist oder ich etwas während der Installation übersehen habe.


Dies scheint jedoch keine Best Practice zu sein. Wenn jemand eine bessere, elegantere Lösung hat, können Sie ihn gerne als Antwort hinzufügen.

0
grawity

libpam-google-authenticatorvon AUR mit make installetc. installiert

So installieren Sie nicht Dinge von AUR.

Ein AUR-Paket hat bereits eine eigene Anweisungen zum Bauen und Installieren - die PKGBUILDDatei, die bereits die erforderlichen Dateien an ihren Platz kopiert und sogar eine .pkg.tar.gzDatei mit ihnen erstellt. Der richtige Weg, einen zu bauen, ist makepkg:

makepkg -sirc 

wird bauen, installieren und aufräumen.

Was ist, wenn der Download keinen Inhalt enthält PKGBUILD? Dann haben Sie die falsche Datei heruntergeladen. Die Paketquellen der obersten Ebene können über den Link in der Box ganz rechts abgerufen werden.

Vielen Dank. Ich erwähnte das nicht, aber "makepkg" gab einen Fehler aus ("cd: zu viele Argumente"), der aus der "PKGBUILD" -Datei stammte (ich hatte einen Blick hinein ...) (und ich habe sie von "aur.archlinux" heruntergeladen.) .org / ... git`) und ich dachte mir, ich würde der GitHub-Readme folgen, aber ich werde mich bemühen, es ab jetzt "richtig" zu machen! :-) TresPaul vor 7 Jahren 0
@TresPaul: Wird normalerweise durch Pfade mit Leerzeichen verursacht (z. B. `… / AUR Package /`). Obwohl die meisten Pakebuilder sich dagegen schützen, werden die meisten Makefiles dies nicht tun - deshalb ist auch Ihre manuelle "make install" -Funktion fehlgeschlagen. grawity vor 7 Jahren 0
Ja, das habe ich gerade jetzt gemerkt. Anscheinend war dies bereits 2004 ein Problem: https://bbs.archlinux.org/viewtopic.php?id=2293 TresPaul vor 7 Jahren 0