Gestionar el acceso SSH en VMware ESXi puede ser un poco molesto, sobre todo si estás acostumbrado a usar SSH y hacer cosas sin complicaciones. Por defecto, el servicio SSH está desactivado, probablemente porque VMware prefiere mantener todo bajo control por seguridad. Pero a veces necesitas conectarte remotamente para solucionar problemas, actualizar o simplemente hacer ajustes rápidos en la línea de comandos. El problema es que, al intentar acceder a tu host ESXi por SSH, podrías obtener el error estándar: ssh: connect to host 192.168.50.13 port 22: Connection refused. Esto se debe a que SSH aún no está habilitado. Por suerte, hay varias maneras de habilitarlo, ya sea mediante la DCUI, vSphere Web Client o incluso PowerShell con VMware PowerCLI. Aquí te explicamos cómo conectar tu servidor ESXi por SSH sin complicaciones. Recuerda que, después de terminar tu trabajo, es recomendable deshabilitar SSH de nuevo, así que no olvides esa parte.
Cómo habilitar el acceso SSH en VMware ESXi
Habilitar SSH a través de la consola DCUI: la manera sencilla
Si prefieres la solución tradicional, la DCUI (Interfaz de Usuario de Consola Directa) es bastante sencilla. Suele ser la solución más rápida, sobre todo si estás físicamente en el servidor o tienes acceso a la consola. En algunas configuraciones, basta con pulsar F2 en la pantalla de inicio de sesión e introducir la contraseña de root.
- Presione F2 para iniciar sesión en DCUI.
- Vaya a Personalización del sistema -> Opciones de solución de problemas.
- Seleccione «Habilitar SSH» y presione Enter. Esto iniciará el servicio SSH inmediatamente.
Una vez habilitado SSH, puede conectarse usando su cliente SSH preferido. Por ejemplo, en Windows, usando el cliente SSH integrado o PuTTY:
Tras conectarte, tendrás acceso al shell ESXi y podrás ejecutar comandos para actualizar, solucionar problemas o ajustar tu host. Un aviso: una vez que hayas terminado, es recomendable desactivar SSH para mantener todo bajo control.
Habilitar SSH a través de vSphere Web Client: para quienes prefieren gráficos
Si usa un ESXi independiente o vCenter, este método podría ser más cómodo. Inicie sesión en la interfaz web en https://192.168.50.13/ui/#/host. Desde allí:
- Vaya a Administrar -> Servicios.
- Encuentra el servicio TSM-SSH : ese es el demonio SSH.
- Selecciónalo y haz clic en Iniciar. Verás que cambia a «en ejecución».
- Si desea que SSH se inicie automáticamente cuando se inicia el host, haga clic en Acciones -> Política -> Iniciar y detener con el host.
Si su host se administra a través de vCenter, simplemente búsquelo en el inventario, vaya a Configurar -> Servicios y haga lo mismo: inicie SSH y configure su política si es necesario.
Ah, y hay una pestaña de Firewall en la configuración de red donde puedes restringir el acceso SSH a IP específicas, algo muy útil si eres paranoico con la seguridad.
Habilitar SSH con PowerShell y VMware PowerCLI
Esta es un poco más avanzada, pero si ya usas PowerCLI, es muy práctica. Primero, asegúrate de que PowerCLI esté instalado (si no, ejecuta Install-Module -Name VMware. PowerCLI).Luego, conéctate a tu ESXi o vCenter:
Connect-VIServer <vCenter_or_ESXi_host_FQDN>
Importante: si está utilizando un certificado autofirmado en su vCenter, ejecute esto primero:
Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn
Esto simplemente evita las advertencias de SSL. Para comprobar el estado actual de SSH en todos los hosts conectados:
Get-VMHost | Get-VMHostService | Where-Object { $_. Key -eq "TSM-SSH" } | Select-Object VMHost, Key, Running, Policy
¿Listo para activar SSH en un host específico? Reemplaza mun-esxi1 con tu nombre de host:
Get-VMHost -Name mun-esxi1 | Get-VMHostService | Where-Object { $_. Key -eq "TSM-SSH" } | Start-VMHostService
Si estás atascado en el modo LockDown, ejecuta:
(Get-VMHost -Name mun-esxi1 | | Get-View).ExitLockdownMode()
O habilite el modo LockDown nuevamente más tarde:
(Get-VMHost -Name mun-esxi1 | | Get-View).EnterLockdownMode()
¿Quieres detener el SSH en todos los hosts? Fácil: solo hazlo:
Get-VMHost | Foreach { Stop-VMHostService -confirm:$false -HostService ($_. ExtensionData. Config. Service | where Key -eq "TSM-SSH") }
Esto desactiva SSH rápidamente para todos. Y para silenciar las advertencias de inicio de sesión:
Get-VMHost | Get-AdvancedSetting UserVars. SuppressShellWarning | Set-AdvancedSetting -Value 1
Por último, no olvides desconectarte cuando hayas terminado:
Disconnect-VIServer * -Confirm:$false
Supongo que lo principal es que, una vez habilitado SSH, se tiene acceso rápido a la línea de comandos para solucionar problemas, ejecutar actualizaciones o solucionar problemas de red. Simplemente sea responsable y desactívelo cuando termine; VMware valora la seguridad tanto como nosotros.
Resumen
Habilitar SSH en ESXi no es complicado, pero es fácil olvidar los pasos o perderse en las opciones de la interfaz. Ya sea usando DCUI, vSphere Web Client o PowerCLI, se trata de obtener acceso rápido a la terminal sin complicaciones. Una vez que SSH esté funcionando, se abre un amplio margen para soluciones rápidas y análisis a fondo. Solo recuerda, una vez que hayas terminado, deshabilitar SSH para mantener la seguridad.
Resumen
- Utilice DCUI para una opción de habilitación rápida si está en el servidor.
- En vSphere Web Client, inicie el servicio TSM-SSH manualmente y configure políticas para el inicio automático.
- PowerCLI es perfecto para automatizar la habilitación/deshabilitación de SSH en múltiples hosts.
- Desactive siempre SSH cuando no esté en uso para mantener la seguridad.
Cruzo los dedos para que esto ayude.
Con suerte, esto te ahorrará tiempo en la resolución de problemas o la administración de tus hosts ESXi. Es un poco extraño que estas funciones estén deshabilitadas por defecto, pero una vez que sabes cómo, es bastante sencillo: solo necesitas un par de clics o comandos.¡Mucha suerte y que disfrutes de la resolución de problemas!