
Estoy intentando implementar la autenticación Yubikey a través de SSH. Edité mi archivo /etc/pam.d/sshd de la siguiente manera y parece funcionarmientras se conecta localmente( ssh user@localhost
):
#%PAM-1.0
auth required pam_yubico.so id=20682 authfile=/etc/yubikey_mappings debug trace
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
Sin embargo, cuando intento conectarme desde una máquina remota, no me solicita mi clave. ¿Cuál es el problema probable?
Respuesta1
La lógica general es que un programa habilitado para PAM que maneja inicios de sesión de shell accederá a las pilas auth
, account
y session
en secuencia, pero un programa puede simplemente omitir cualquiera de estas si maneja una o más de esas funciones con sus propias implementaciones.
sshd
admite algunos modos de autenticación que no se pueden delegar a PAM, porque dependen de métodos que no entran dentro del alcance de la contraseña o la negociación de desafío-respuesta. Por lo general, se basan en claves o tickets: claves ssh, GSSAPI/krb5, etc.