Búsqueda de sitios web

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 4096

Obtenga 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 ed25519

La 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_keys

Coné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 yes

Desactive los inicios de sesión con contraseña SSH:

ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication no

Reinicie el servidor SSH en ESXi:

# /etc/init.d/SSH restart

Tambié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

Artículos relacionados