Iniciar sesión con una USB en Linux


Ayer en clase de Cisco al momento de iniciar sesión en el portátil de la clase, note que no me funcionaba, por lo cual al preguntarle a la instructora me indica que necesitaba el Token para poder iniciar, por lo cual al indagar sobre como lo hacían, me di cuenta que era con un programa para Linux que se llama PamUSB-Tools, y básicamente sirve para agregar autenticación por Hardware en Linux usando una memoria USB común y corriente.

Esto me pareció muy interesante ya que una de las formas mas seguras para autenticar o iniciar sesión en un computador o sistema, es por medio de un Token de Seguridad o dispositivo electrónico adicional a la contraseña, por lo cual si te cogen la contraseña, te roban el PC, u otra situación similar, no podrían ingresar a tu cuenta por que también necesitan el token o en este caso la memoria  USB o el dispositivo con interfaz USB.

Ya puestos en contextos, voy  a explicar como instalar y configurar el PamUSB-Tools para iniciar sesión por medio de una memoria USB en Linux, estos son los pasos y sus respectivas imágenes.

El pase de diapositivas requiere JavaScript.

Instalar y configurar PamUSB-Tools en Linux Ubuntu

  1. Instalar la herramienta y sus librerias con el comando:
# apt-get install libpam-usb pamusb-tools
instalar pamusb-tools en ubuntu
instalar pamusb-tools en Ubuntu

2. Configurando la memoria USB con PamUS-Tools.

# pamusb-conf --add-device=MiUSB
Configurar la USB
Configurar la USB

3. Configurando el usuario de Linux con la memoria USB

 # pamusb-conf --add-user=miusuariolinux
Configurar Usuario con la USB
Configurar Usuario con la USB

4. Comprobar la correcta configuración

# pamusb-check miusuariolinux
Comprobar configuración de PamUSB-Tools
Comprobar configuración de PamUSB-Tools

5.  Agregar la USB como sistema de autenticación en Linux, modificando con editor de texto el archivo que maneja las autenticaciones del sistema, en Ubuntu (o Debian) se encuentra en  /etc/pam.d/common-auth

# nano /etc/pam.d/common-auth
Configurar el sistema de autenticación
Configurar el sistema de autenticación

 6. Agregar el dispositivo USB para que Linux la reconozca o monte al iniciar el equipo, para esto se debe comprobar en donde esta montado la USB y escribir en el archivo pmount.allow que permite montar dispositivos de la siguiente forma:

Listamos todos los dispositivos montados en el sistema:

# fdisk -l
Listar-Dispositivos-Linux
Listar Dispositivos en Linux
# echo “/dev/sdf1″ >> /etc/pmount.allow
montar USB al iniciar Linux
montar USB al iniciar Linux

NOTA: Debes cambiar el sdf1 por el que te aparezca en tu sistema para la memoria USB.

7. Probar si el sistema de autenticación funciona por consola, por ejemplo pasando de la shell básica a una con privilegios de super usuario.

# su
Probar autenticación con la USB
Probar autenticación con la USB

Finalmente, reiniciar el PC e iniciar sesión con la memoria USB en vez de la contraseña o en caso de que la hayas configurado como requeridas ambas opciones debes tener la USB y adicionalmente ingresar la contraseña.

¿Que pasa si se me pierde el Token o USB? En este caso se me ocurren dos soluciones, la primera es configurar otra memoria USB como BackUp y la segunda solución es colocar la autenticación con la USB como opcional y no como requerida. Si tienes otra solución sera bien recibida.

Espero que implementen esta otra forma segura para iniciar sesión en Linux y sí conoces una forma de realizar esto en Windows o Mac OS  X(ojala con software libre) se le agradece el aporte.

By @JOGAcrack