Iniciar sesión con PAM#

(Nitrokey Start - Linux)

Cómo configurar el inicio de sesión#

Tienes dos opciones: pam_p11 o Poldi.

La solución con pam_p11 es más difícil de conseguir y se basa en certificados S/MIME. Por favor, eche un vistazo a la documentación para más información.

Poldi 0.4.1 funciona sin problemas con Nitrokey para la autenticación PAM con claves RSA (ver Solución de problemas para información sobre claves ECC). Además de la instalación de poldi (por ejemplo, sudo apt-get install libpam-poldi en Ubuntu) se necesitan los siguientes pasos para que funcione.

Es necesario tener ya las claves generadas en el Nitrokey, ya que la clave de autenticación es utilizada por PAM.

  1. En primer lugar, necesita averiguar el «Application ID» de su Nitrokey. Puede utilizar gpg --card-status | grep Application para averiguar cuál es la suya. Se parece a D00600012401020000000000xxxxxxxx o similar.

  2. Ahora tienes que añadir una línea a /etc/poldi/localdb/users que contenga la siguiente información

    <SuAplicaciónID> <SuNombreDeUsuario>

    Esto podría ser como “D00600012401020000000000xxxx nitrokeyuser”. Ahora volcar la clave pública de la Nitrokey en poldi db local:

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'

¡Por favor, tenga en cuenta que tiene que insertar su ID de aplicación en la línea de arriba con el de su palo!

Entonces usted tiene que configurar PAM. Sólo tiene que añadir «auth sufficient pam_poldi.so» a los archivos de configuración de pam según sus necesidades:

  • /etc/pam.d/common-auth para el inicio de sesión de los usuarios gráficos

  • /etc/pam.d/login para el acceso a la consola

  • /etc/pam.d/sudo para la autenticación de sudo

  • /etc/pam.d/gnome-screensaver para volver a iniciar sesión desde una pantalla bloqueada,

  • etc.

Nota

Es peligroso jugar con Pam, así que asegúrate de tener una forma de acceder a la máquina si rompes la autenticación por completo. Recuerda que arrancar en modo de rescate desde Grub requiere una contraseña de root, así que ten eso o un CD vivo que pueda leer tus sistemas de archivos a mano.

Aquí encontrará más instrucciones (en alemán, parcialmente obsoleto).

Solución de problemas#

Si obtiene un error similar a “ERR 100663414 Invalid ID <SCD>” debe intentar en su lugar

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

¡Por favor, tenga en cuenta que tiene que insertar su ID de aplicación en la línea de arriba con el de su palo!

Claves ECC#

Desafortunadamente, poldi no tiene soporte para llaves ECC todavía. Pero hay un parche para llaves ECC utilizadas con Nitrokey Start. Esto ya está incluido en la rama maestra del repositorio de desarrollo de poldi y por lo tanto será liberado en una versión más nueva eventualmente. Mientras tanto, la única opción es construir poldi desde el código fuente.