Os explico cómo renovar certificados caducados en vCenter 7.0, un error común que puede dejarte sin acceso a la consola web de vSphere.
En mi entorno de laboratorio, tuve un problema que me había pasado hace unos años, tras este fin de semana: el acceso al vCenter por consola web dejó de funcionar. Después de revisar, el problema era claro: varios certificados habían caducado.
te voya a explicar el procedimiento completo para renovar los certificados caducados en vCenter 7.0 usando el script Vcert.sh
en caso de perder acceso al vCenter.
La operativa del fallo es la siguiente. Al intentar acceder al vCenter por vSphere Web Client, tras introducir las credenciales, no cargaba la consola. y se queda en blanco.
Después de conectarnos por SSH al vCenter, comprobamos que los certificados de varios servicios estaban caducados. Este era el motivo del fallo, por lo que no arrancar los servicios.
Lo había visto días atrás, pero quise dejarlo que caducara para poder enseñaros en procedimiento.
Crear un snapshot del vCenter
Antes de hacer nada, accedemos al ESXi donde está la VM del vCenter y generamos un snapshot con la máquina apagada.
subir y preparar el script
Subimos el script Vcert.sh
a /tmp
en el vCenter por SSH y le damos permisos de ejecución:
chmod +x /tmp/Vcert.sh
Verificar los certificados
Ejecutamos el script:
./Vcert.sh
Seleccionamos la opción 1: Check current certificates status
Se solicitarán credenciales del SSO (administrator@vsphere.local
).
Aquí ya vemos el listado de certificados y su estado: varios aparecían como EXPIRED.
Select an option [1]: 1 Please enter a Single Sign-On administrator account [administrator@vsphere.local]: Please provide the password for administrator@vsphere.local: Invalid credentials, please enter the password for administrator@vsphere.local: Checking Certifcate Status ----------------------------------------------------------------- Checking Machine SSL certificate VALID Checking Solution User certificates: machine EXPIRED vsphere-webclient EXPIRED vpxd EXPIRED vpxd-extension EXPIRED hvc VALID wcp VALID Checking SMS certificate VALID Checking data-encipherment certificate VALID Checking Authentication Proxy certificate VALID Checking Auto Deploy CA certificate VALID Checking BACKUP_STORE entries: Checking legacy Lookup Service certificate VALID Checking VMCA certificate VALID Checking STS Signing Certs & Signing Chains ----------------------------------------------------------------- Checking TenantCredential-1: TenantCredential-1 signing certificate VALID TenantCredential-1 CA certificate VALID Checking TrustedCertChain-1: TrustedCertChain-1 signing certificate VALID TrustedCertChain-1 signing certificate VALID
Renovar los certificados
Seleccionamos la opción:
6. Reset all certificates with VMCA-signed certificates
Esto reemplazará los certificados expirados con nuevos firmados por VMCA.
Reiniciar servicios
Después del reemplazo, cuando el script pregunte si reiniciar servicios, seleccionamos que NO.
En su lugar, elegimos:
-
Opción 8: Restart services
-
Luego, Opción 1: Restart All VMware Services
Este paso es clave para evitar errores al reiniciar individualmente.
Verificación de servicios
Comprobamos los servicios del vCenter con:
service-control --list-services
Y también validamos que la VM sigue activa con:
esxcli vm process list
Comprobación de los certificados
Tras la ejecución, el script muestra el estado de todos los certificados, indicando cuáles estaban caducados y cuáles ya son válidos. Se verifican también cadenas de confianza, certificados raíz y certificados en los almacenes VECS y VMDIR. También podemos comprobarlo desde vCenter en administration > certificates
Conclusión
Este procedimiento te permitirá recuperar el acceso al vCenter tras la caducidad de los certificados, sin necesidad de reinstalar servicios ni restaurar backups.
Asegúrate de revisar con frecuencia el estado de los certificados para evitar caídas en momentos críticos.
Espero que os sirva
Enlaces de interés
-
KB VMware: Determining expired SSL certificates in vCenter Server
-
VMware Professional Services – Renew Expired Certificates
Descarga de script Vcent.sh
https://github.com/AngrySysOps/scripts/blob/main/vCert.sh