Requiere autenticación LDAP *y* autenticación ssh

Requiere autenticación LDAP *y* autenticación ssh

Me gustaría habilitar lo siguiente: Instancias Linux ec2 en AWS que realizan autenticación LDAP de usuarios que no tienen un directorio de inicio actualmente en el cuadro. Tengo un openLDAP funcionando en AWS para la tarea

Una vez autenticado LDAP:

  • Se creará el directorio de inicio del usuario.
  • La clave ssh pública del usuario se recupera de su sshPublicKeyatributo en LDAP y solo puede iniciar sesión si su sshPrivateKey local coincide.

Sé cómo hacer la autenticación LDAPOrecuperación de la clave pública a través de un ldapsearchpero quiero hacer ambas cosas.

El escenario que estoy tratando de mitigar es cuando un empleado deja la empresa: puedo deshabilitar su cuenta en openLDAP e incluso si su clave pública existe en las máquinas, no podrán usarlas porque también fallarán en la autenticación ldap. .

He buscado en StackExchanges y no creo haber encontrado lo que estoy buscando. Lo más cerca que he estado es

https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap

https://serverfault.com/questions/579341/combination-of-ssh-key-auth-and-two-factor-authentication

Respuesta1

En primer lugar, las claves autorizadas no deben almacenarse en el directorio de inicio del usuario por dos motivos:

  1. No se debe permitir que los usuarios agreguen ellos mismos claves autorizadas aleatorias.
  2. Durante el primer inicio de sesión, si el directorio de inicio aún no existe, la clave autorizada ya debería estar allí.

Más bien deberías establecerArchivo de claves autorizadasasí para dejarsshdlea las claves autorizadas de un directorio bloqueado donde coloca las claves a través de un script de sincronización auxiliar:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

Una variante de esto es usarComando de claves autorizadaspara activar alguna recuperación dinámica de claves autorizadas. Tenga en cuenta que es posible que la red esté inactiva o que el sistema sea inaccesible justo en el momento en que debe iniciar sesión.

En caso de que el empleado se retire también retire las llaves autorizadas.

Si aún desea aplicar el uso de autenticación basada en clave y contraseña, puede configurarMétodos de autenticacióncomo esto:

AuthenticationMethods publickey,password

Tenga en cuenta la coma utilizada como separador en lugar de un espacio.

(Si no desea ocuparse de todos los detalles usted mismo, puede configurar una solución lista para usar comoGratisIPAconsssdcomo cliente NSS/PAM o miÆ-DIRconaehostdutilizado como cliente NSS/PAM.)

información relacionada