Me gustaría saber cómo puedo (y si es posible) crear una autenticación dinámica para un usuario en Linux.
El servidor cambiaría la contraseña del usuario periódicamente y el usuario usaría un programa (como un token) para recuperar e ingresar la contraseña correcta.
Respuesta1
No es exactamente lo que estás buscando, pero he visto que OTPW se usa para tales escenarios. Es un paquete completo que se integra con un sistema Linux a través de módulos PAM.
extracto
El paquete OTPW consta de un generador de contraseñas de un solo uso
otpw-gen
más dos rutinas de verificaciónotpw_prepare()
yotpw_verify()
se puede agregar fácilmente a programas comologin
oftpd
en sistemas POSIX. Para las plataformas que admiten la interfaz del Método de autenticación conectable (PAM), también se incluye un contenedor adecuado. El software de inicio de sesión extendido de esta manera permitirá una autenticación de usuario razonablemente segura a través de líneas de red inseguras. El usuario lleva una lista de contraseñas en papel. El plan está diseñado para ser sólido contra el robo de la lista en papel y los ataques de carrera por la última letra. Los valores hash criptográficos de las contraseñas de un solo uso se almacenan para su verificación en el directorio de inicio del usuario.
En su caso, querrá seguir las instrucciones de esa página que detallan la instalación de PAM.
extracto
Si su sistema admite módulos de autenticación conectables [Mor01,XSSO], simplemente compile la biblioteca compartida
pam_otpw.so
y cópiela en el directorio en el que residen otros módulos PAM (generalmente en Linux/lib/security/
). Luego edite el archivo de configuración PAM para la aplicación en la que desea utilizar OTPW, como se describe en la Guía del administrador del sistema PAM. Proporcionapam_otpw.so
un componente de autenticación y de sesión. El componente de autenticación solicita y verifica una contraseña de un solo uso, el componente de sesión imprime después de cada inicio de sesión exitoso un recordatorio de cuántas contraseñas no utilizadas le quedan.Para usar ambos componentes al iniciar sesión en su sistema a través de Secure Shell, es posible que deba agregar
/etc/pam.d/sshd
las líneasauth required pam_otpw.so session optional pam_otpw.so
Con OpenSSH 3.4, por ejemplo, debes asegurarte de que tu versión tenga compatibilidad con PAM compilada y tendrás que agregar
/etc/ssh/sshd_config
las líneasUsePrivilegeSeparation no PAMAuthenticationViaKbdInt yes
Para forzar a OpenSSH a utilizar la autenticación PAM (en lugar de sus propios métodos basados en host o de clave pública, que normalmente intenta primero), utilice
“ssh -o PreferredAuthentications=keyboard-interactive”
.