El otro día descubrimos un caso interesante con vCenter 7.0 y luego de investigación determinamos que es de hecho un “bug” originalmente encontrado en vCenter 5.5 cuando se hizo la migración inicial al vCenter Server Appliance (en vez de Windows). Les cuento como lo resolvimos.
Síntomas
- vCenter esta configurado para utilizar AD como proveedor de identidad
- Los usuarios de Active Directory con un espacio en su nombre de usuario (Dominio\Jose Ramirez) no son capaces de autenticar, sin embargo los usuarios que no tienen espacio (Dominio\jose.ramirez) pueden autenticar sin problema
- Los usuarios con espacio usualmente reciben un mensaje de error:
Cannot complete login due to an incorrect user name or password
Provided credentials are not valid
Causa
Este comportamiento se observó por primera vez en el vCenter Server Appliance 5.5, al moverse los componentes de autenticación de Windows a Linux el vCSA heredó un comportamiento de Linux… el reemplazo del caracter espacio, así usualmente un usuario de nombre “dominio\jose ramirez” sería autenticado como “dominio\jose^ramirez”. Este comportamiento sigue existiendo hasta vCenter 7.0
Solución
Para poder permitir que los usuarios con espacios autentiquen con el vCenter es necesario cambiar el reemplazo de caracter espacio de “^” a ” ” para ello realizamos el siguiente procedimiento:
Paso 1 – Acceder por SSH al vCenter afectado
Paso 2 – Modificar la clave de registro correspondiente, corriendo el siguiente comando (es una sola línea):
/opt/likewise/bin/lwregshell set_value [HKEY_THIS_MACHINE\\Services\\lsass\\Parameters] SpaceReplacement " "
Paso 3 – Reiniciar el servicio de autenticación ejecutando el comando:
/opt/likewise/bin/lwsm restart lsass
Paso 4 – Ingresar al cliente de vCenter de manera normal, el problema ya debería estar resuelto