Compartir a través de


Cómo restablecer una contraseña de máquina virtual Linux o una clave SSH, corregir la configuración de SSH y comprobar la coherencia del disco mediante la extensión VMAccess

Importante

Las máquinas virtuales clásicas se retirarán el 1 de marzo de 2023.

Si usa recursos de IaaS desde ASM, complete la migración antes del 1 de marzo de 2023. Le recomendamos que realice el cambio antes, para aprovechar las diversas mejoras de las características de Azure Resource Manager.

Para más información, consulte Migración de los recursos de IaaS a Azure Resource Manager antes del 1 de marzo de 2023.

Si no puede conectarse a una máquina virtual Linux en Azure debido a una contraseña olvidada, una clave de Secure Shell (SSH) incorrecta o un problema con la configuración de SSH, use la extensión VMAccessForLinux con la CLI de Azure para restablecer la contraseña o la clave SSH, corrija la configuración de SSH y compruebe la coherencia del disco.

Nota:

Azure tiene dos modelos de implementación diferentes para crear recursos y trabajar con ellos: Resource Manager y el clásico. Este artículo cubre el uso del modelo de implementación clásico. Microsoft recomienda que las implementaciones más recientes usen el modelo de Resource Manager. Obtenga información sobre cómo realizar estos pasos con el modelo de Resource Manager.

Con la CLI de Azure, se usa el conjunto de extensión de máquina virtual de Azure comando desde la interfaz de la línea de comandos (Bash, Terminal, símbolo del sistema) para acceder a los comandos. Ejecute conjunto de extensiones de máquina virtual de ayuda de Azure para obtener un uso detallado de la extensión.

Con la CLI de Azure, puede realizar las siguientes tareas:

Prerrequisitos

Tendrá que hacer lo siguiente:

  • Tendrá que instalar la CLI de Azure y conectarse a su suscripción para usar los recursos de Azure asociados a su cuenta.
  • Establezca el modo correcto para el modelo de implementación clásica introduciendo el siguiente comando en el símbolo del sistema:
        azure config mode asm
    
  • Tenga una nueva contraseña o un conjunto de claves SSH, si desea restablecer una. No es necesario si desea restablecer la configuración de SSH.

Restablecer la contraseña

  1. Cree un archivo en el equipo local denominado PrivateConf.json con estas líneas. Reemplace myUserName y myP@ssW0rd por su propio nombre de usuario y contraseña y establezca su propia fecha de expiración.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. Ejecute este comando y sustituya el nombre de la máquina virtual por myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
    

Restablecimiento de la clave SSH

  1. Cree un archivo denominado PrivateConf.json con este contenido. Reemplace los valores myUserName y mySSHKey por su propia información.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. Ejecute este comando y sustituya el nombre de la máquina virtual por myVM.

     azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Restablecer la contraseña y la clave SSH

  1. Cree un archivo denominado PrivateConf.json con este contenido. Reemplace los valores myUserName, mySSHKey y myP@ssW0rd por su propia información.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. Ejecute este comando y sustituya el nombre de la máquina virtual por myVM.

        azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Creación de una nueva cuenta de usuario de sudo

Si olvida su nombre de usuario, puede usar VMAccess para crear uno nuevo con privilegios de sudo. En este caso, no se modificará el nombre de usuario y la contraseña existentes.

Para crear un nuevo usuario de sudo con acceso con contraseña, use el script en Restablecer la contraseña y especifique el nuevo nombre de usuario.

Para crear un nuevo usuario de sudo con acceso a claves SSH, use el script en Restablecer la clave SSH y especifique el nuevo nombre de usuario.

También puede usar Restablecer la contraseña y la clave SSH para crear un nuevo usuario con acceso a contraseña y clave SSH.

Restablecimiento de la configuración de SSH

Si la configuración de SSH está en un estado no deseado, es posible que también pierda el acceso a la máquina virtual. Puede usar la extensión VMAccess para restablecer la configuración a su estado predeterminado. Para ello, solo tiene que establecer la clave "reset_ssh" en "True". La extensión reiniciará el servidor SSH, abrirá el puerto SSH en la máquina virtual y restablecerá la configuración de SSH a los valores predeterminados. La cuenta de usuario (nombre, contraseña o claves SSH) no se cambiará.

Nota:

El archivo de configuración ssh que se restablece se encuentra en /etc/ssh/sshd_config.

  1. Cree un archivo denominado PrivateConf.json con este contenido.

        {
        "reset_ssh":"True"
        }
    
  2. Ejecute este comando y sustituya el nombre de la máquina virtual por myVM.

     	azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Eliminación de un usuario

Si desea eliminar una cuenta de usuario sin iniciar sesión directamente en la máquina virtual, puede usar este script.

  1. Cree un archivo denominado PrivateConf.json con este contenido, sustituyendo el nombre de usuario que se va a quitar para removeUserName.

        {
        "remove_user":"removeUserName"
        }
    
  2. Ejecute este comando y sustituya el nombre de la máquina virtual por myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

Mostrar el estado de la extensión VMAccess

Para mostrar el estado de la extensión VMAccess, ejecute este comando.

        azure vm extension get

Comprobación de la coherencia de los discos agregados

Para ejecutar fsck en todos los discos de la máquina virtual Linux, deberá hacer lo siguiente:

  1. Cree un archivo denominado PublicConf.json con este contenido. Check Disk toma un valor booleano para indicar si se debe comprobar o no los discos conectados a su máquina virtual.

        {   
        "check_disk": "true"
        }
    
  2. Ejecute este comando para ejecutar, sustituyendo el nombre de la máquina virtual por myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json 
    

reparar discos

Para reparar discos que no están montados o que tienen errores de configuración de montaje, use la extensión VMAccess para restablecer la configuración de montaje en la máquina virtual Linux. Sustituir el nombre del disco por myDisk.

  1. Cree un archivo denominado PublicConf.json con este contenido.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. Ejecute este comando para ejecutar, sustituyendo el nombre de la máquina virtual por myVM.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
    

Pasos siguientes

  • Si desea usar cmdlets de Azure PowerShell o plantillas de Azure Resource Manager para restablecer la contraseña o la clave SSH, corrija la configuración de SSH y compruebe la coherencia del disco, consulte la documentación de la extensión VMAccess de en GitHub.
  • También puede usar el Azure Portal para restablecer la contraseña o la clave SSH de una máquina virtual Linux implementada en el modelo de implementación clásica. Actualmente no puede usar el portal para ello para una máquina virtual Linux implementada en el modelo de implementación de Resource Manager.
  • Consulte Acerca de las extensiones y características de las máquinas virtuales para más información sobre el uso de extensiones de máquina virtual para máquinas virtuales de Azure.