Autenticación de teclado ssh: cuándo ingresar el código de autenticación de Google

0

Estas preguntas parecen relacionadas:

Creo que mis circunstancias son lo suficientemente diferentes como para comenzar un nuevo hilo.


He configurado ssh para usar PAM, con Google-Authenticator. He agregado las líneas necesarias a ambos /etc/ssh/sshd_configy /etc/pam.d/sshdhe configurado Google Authenticator en ambas computadoras y en la aplicación. La clave pública de cada sistema se copia en el otro.

En /etc/ssh/sshd_config:

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

En /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

Este es el resultado de 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).

Entre las dos últimas estrellas en negrita / dobles ("el siguiente método de autenticación es kbd interactivo" y "enviamos un paquete"), no se me pide mi OTP. ¿Por qué es esto? ¿Qué me estoy perdiendo?

Información extra

Estoy en el arco libpam-google-authenticatorinstalado desde AUR con make installetc.

Editar: registro del servidor

journalctl en el servidor tiene lo siguiente:

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]

Gracias.

TresPaul
fuente
1
¿Qué errores ves en el registro del servidor?
Jakuje
Jakuje, gracias, eso se me olvidó por completo. Parece /usr/lib/security/pam_google_authenticator.soque no existe. Sin embargo, la instalación dijo que se agregó con éxito a / usr / lib / security.
TresPaul

Respuestas:

0

libpam-google-authenticatorinstalado desde AUR con make installetc.

No es así como instalas cosas desde AUR.

Un paquete de AUR ya tiene sus propias instrucciones de compilación e instalación: el PKGBUILDarchivo, que ya copia los archivos necesarios en sus lugares e incluso crea un .pkg.tar.gzarchivo con ellos. La forma correcta de construir uno es makepkg:

makepkg -sirc

construirá, instalará y limpiará.

¿Qué pasa si su descarga no tiene un contenido PKGBUILD? Luego descargaste el archivo incorrecto. Las fuentes de paquetes de nivel superior se pueden obtener del enlace en el cuadro de la derecha,

Gravedad
fuente
Gracias. No mencioné esto, pero makepkgdi un error ( cd: too many arguments) que surgió del PKGBUILDarchivo (eché un vistazo al interior ...) (y lo descargué de aur.archlinux.org/...git) y pensé que seguiría el archivo Léame de GitHub, pero ¡Esfuérzate por hacerlo "correctamente" de ahora en adelante! :-)
TresPaul
@TresPaul: generalmente causado por rutas con espacios (por ejemplo …/AUR Package/). Aunque la mayoría de los pkgbuilds se protegen contra ellos, la mayoría de los Makefiles no lo harán, es por eso que su manual también make installfalló.
Grawity
Sí, me di cuenta de eso justo ahora. Aparentemente esto ya era un problema en 2004: bbs.archlinux.org/viewtopic.php?id=2293
TresPaul
1

Entonces resolví esto con

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

El error fue el .soarchivo faltante , lo que implica que algo salió mal o me perdí algo durante la instalación.


Sin embargo, esto no parece la mejor práctica. Si alguien tiene una solución mejor y más elegante, no dude en agregarla como respuesta.

TresPaul
fuente