Configure la autenticación basada en claves SSH en VMware ESXi
Puede configurar la autenticación basada en claves SSH para iniciar sesión en hosts VMware ESXi en lugar de utilizar un par de nombre de usuario y contraseña. Esto puede resultar útil si necesita administrar de forma remota un host ESXi mediante scripts externos (por ejemplo, para enviar un comando de apagado a ESXi en un evento de corte de energía en UPS) o si necesita administrar hosts VMware ESXi con Ansible.
Generar claves públicas y privadas en la computadora del administrador. Utilice claves RSA con una longitud mínima de 4096 bits. Para generar un par de claves RSA de 4096 longitudes en Windows, ejecute el comando
ssh-keygen -t rsa -b 4096Obtenga más información sobre la autenticación basada en claves SSH en Windows.
Se recomienda utilizar el protocolo Ed25519 en lugar de claves RSA en nuevas compilaciones de OpenSSH (use RSA/SHA256 cuando pruebe la usabilidad de las claves privadas, ya que algunos sistemas están comenzando a deshabilitar RSA/SHA1 en libcrypto). En ESXi 8.0, solo pude establecer una conexión SSH usando el par de claves Ed25519 después de deshabilitar el
FipsMode no
opción en /etc/ssh/sshd_config.
Para generar claves Ed25519 (id_ed25519 y id_ed25519.pub), ejecute:
ssh-keygen -t ed25519La utilidad crea dos archivos en el directorio del perfil del usuario actual (%USERPROFILE%\.ssh):
id_rsa - clave privada
id_rsa.pub - clave pública (abierta)
Si está utilizando la herramienta Puttygen para generar claves, deberá exportarlas en formato OpenSSH.
Copie la clave pública (id_rsa.pub) de su computadora al host VMware ESXi. Esta clave debe agregarse al archivo.
/etc/ssh/keys-$USER/authorized_keys. Si se trata de una clave para el usuario root, la ruta al archivo será la siguiente:
/etc/ssh/keys-root/authorized_keysConéctese al servidor ESXi mediante SSH.
Puede editar el archivo manualmente (puede almacenar varias claves en un archivo) o agregarlo al servidor ESXi usando el comando de PowerShell:
cat c:\users\admin\.ssh\id_rsa.pub | ssh root@192.168.18.38 'cat >> /etc/ssh/keys-root/authorized_keys'
El archivo /etc/ssh/sshd_config contiene el servidor OpenSSH en el host ESXi.
Utilice esta opción para habilitar o deshabilitar el acceso raíz:
PermitRootLogin yesDesactive los inicios de sesión con contraseña SSH:
ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication noReinicie el servidor SSH en ESXi:
# /etc/init.d/SSH restartTambién puede utilizar Perfiles de host de VMware para implementar claves SSH abiertas en hosts ESXi (Configuración de seguridad -> Clave autorizada SSH para usuario root -> Agregar clave pública)
Ahora puede conectarse al host ESXi sin contraseña utilizando la clave privada. En computadoras Windows con ssh-agent habilitado, la clave privada del perfil de usuario se usa automáticamente al conectarse al host:
ssh root@192.168.15.38
También puede utilizar el parámetro -i para especificar la ruta a la clave privada:
ssh root@192.168.15.38 -i "C:\Users\administrator\.ssh\id_rsa"Ahora puedes ejecutar de forma remota cualquier comando en la consola ESXi. Por ejemplo, apague una máquina virtual específica:
ssh root@192.168.15.38 vim-cmd vmsvc/power.shutdown VMID



