Restablecimiento de las contraseñas locales de Linux en máquinas virtuales de Azure

En este artículo se presentan tres métodos para restablecer las contraseñas locales de un máquina virtual (VM) de Linux. Si la cuenta de usuario ha expirado o simplemente desea crear una nueva, puede usar los métodos siguientes para crear una cuenta de administrador local y recuperar el acceso a la VM.

Restablecer la contraseña con el agente Linux de Azure

Puede restablecer la contraseña sin conectar el disco del sistema operativo a otra VM. Este método requiere que el agente de Linux de Azure se instale en la VM afectada.

  1. Asegúrese de que el servicio Azure Linux Agent (waagent) se está ejecutando en la máquina virtual afectada y se encuentra en estado listo en el portal de Azure.

  2. Configure las variables de entorno y use la CLI de Azure o Azure Cloud Shell para restablecer la contraseña:

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="adminName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm user update -u $AZ_ADMIN_USER -p $AZ_MSADMIN_PASS -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME
    
  3. Intente acceder a la VM.

Para actualizar la clave SSH, consulte Gestionar usuarios administrativos, SSH mediante la extensión de VMAccess con la CLI de Azure.

También puede restablecer la contraseña o la clave SSH mediante la función Restablecer la contraseña en el portal de Azure.

Para obtener más información, consulte extensión vmaccess para Linux.

Restablecer la contraseña mediante la consola serie con el modo de usuario único

Puede utilizar la consola serie para restablecer la cuenta de admin user o root a través del modo de usuario único para el acceso a VM.

  1. Siga el proceso de modo de usuario único para restablecer o añadir una contraseña.

  2. Asegúrese de que la autenticación con contraseña está habilitada en el servidor OpenSSH si intenta iniciar sesión en el servidor mediante la autenticación SSH y la contraseña.

    1. Compruebe si el valor PasswordAuthentitcation está establecido en yes o no en /etc/ssh/sshd_config ejecutando el siguiente comando:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si el valor PasswordAuthentication está establecido en no, utilice un editor de texto como vi o nano para cambiar el valor a yes.

  3. Cree una nueva contraseña para la cuenta de admin user o root ejecutando el comando passwd:

    passwd <admin_user>
    
  4. Compruebe si SElinux está en modo enforcing en /etc/sysconfig/selinux ejecutando el siguiente comando:

    cat /etc/sysconfig/selinux
    
  5. Si SElinux está en modo enforcing, asegúrese de que SElinux permite los cambios de archivo realizados con el comando passwd. Una vez cambiada la contraseña, puede ejecutar el siguiente comando para volver a etiquetar el sistema de archivos para facilitar la carga de la modificación.

    touch /.autorelabel
    
  6. Reinicie la VM ejecutando el siguiente comando:

    /usr/sbin/reboot -f
    
  7. Intente acceder a la VM.

Restablecer la contraseña mediante el uso de una VM de reparación

Este método se ha probado usando las distribuciones y versiones de Linux compatibles.

Nota:

Si tiene problemas que afectan a un dispositivo virtual de red de Azure, este método no se aplica a su situación. En su lugar, debe comunicarse con el proveedor del dispositivo virtual de red para obtener instrucciones sobre cómo restablecer la contraseña de manera segura.

Puede ejecutar los comandos de reparación de VM para crear una VM de reparación que tenga adjunta una copia del disco del SO de la VM afectada. Luego, monte la copia de los sistemas de archivos del SO en la VM de reparación a través del entorno chroot.

Nota:

Como alternativa, cree una VM de rescate manualmente utilizando el portal de Azure. Para más información, consulte Solución de problemas de una VM Windows mediante la conexión del disco de SO a una VM de recuperación mediante Azure Portal.

  1. Ejecute los siguientes comandos az vm repair create para crear una copia del disco del sistema operativo. A continuación, el disco se conecta automáticamente a una máquina virtual de recuperación.

    AZ_RESOURCE_GROUP="YourResourceGroupName"
    AZ_VM_NAME="VMname"
    AZ_ADMIN_USER="userName"
    AZ_MSADMIN_PASS="newPassword"
    
    az vm repair create -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --repair-username $AZ_ADMIN_USER --repair-password "$AZ_MSADMIN_PASS" --verbose
    
  2. Inicie sesión en la máquina virtual de reparación y solucione los problemas del entorno chroot.

  3. Asegúrese de que la autenticación con contraseña está habilitada en el servidor OpenSSH si intenta iniciar sesión en el servidor mediante la autenticación SSH y la contraseña.

    1. Compruebe si el valor PasswordAuthentitcation está establecido en yes o no en /etc/ssh/sshd_config ejecutando el siguiente comando:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si el valor PasswordAuthentication está establecido en no, utilice un editor de texto como vi o nano para cambiar el valor a yes.

  4. Cree una nueva contraseña para la cuenta de admin user o root ejecutando el comando passwd:

    passwd <admin_user>
    
  5. Compruebe si SElinux está en modo enforcing en /etc/sysconfig/selinux ejecutando el siguiente comando:

    cat /etc/sysconfig/selinux
    
  6. Si SElinux está en modo enforcing, asegúrese de que SElinux permite los cambios de archivo realizados con el comando passwd. Una vez cambiada la contraseña, puede ejecutar el siguiente comando para volver a etiquetar el sistema de archivos para facilitar la carga de la modificación.

    touch /.autorelabel
    
  7. Salga del entorno chroot.

  8. Vuelva a montar el disco del OS en la VM afectada intercambiando el disco del OS con el siguiente comando:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Intente acceder a la VM.

Pasos siguientes

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.