Compartir a través de


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

Se aplica a: ✔️ Máquinas virtuales Linux

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

Restablecimiento de la contraseña mediante el agente Linux de Azure

Puede restablecer la contraseña sin conectar el disco del sistema operativo a otra máquina virtual. Este método requiere que el agente Linux de Azure esté instalado en la máquina virtual afectada.

  1. Asegúrese de que el servicio Agente Linux de Azure (waagent) se ejecuta en la máquina virtual afectada y está en un estado listo en Azure Portal.

  2. Configure las variables de entorno y use la CLI de Azure o Azure Cloud Shell para realizar el restablecimiento de 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 máquina virtual.

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

También puede restablecer la contraseña o la clave SSH mediante la característica Restablecer contraseña en Azure Portal.

Para 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 usar la consola serie para restablecer la admin user cuenta o root a través del modo de usuario único para el acceso a la máquina virtual.

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

  2. Asegúrese de que la autenticación de 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 PasswordAuthentitcation valor está establecido yes en o no en /etc/ssh/sshd_config ejecutando el comando siguiente:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si el PasswordAuthentication valor se establece noen , use un editor de texto como vi o nano para cambiar el valor a yes.

  3. Cree una nueva contraseña para la admin user cuenta o root mediante la ejecución del passwd comando :

    passwd <admin_user>
    
  4. Compruebe si SElinux está en enforcing modo en /etc/sysconfig/selinux mediante la ejecución del comando siguiente:

    cat /etc/sysconfig/selinux
    
  5. Si SElinux está en enforcing modo , asegúrese de que SElinux permite los cambios de archivo realizados con el passwd comando . Después de cambiar 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 máquina virtual mediante la ejecución del comando siguiente:

    /usr/sbin/reboot -f
    
  7. Intente acceder a la máquina virtual.

Restablecimiento de la contraseña mediante una máquina virtual de reparación

Este método se ha probado mediante las versiones y distribuciones de Linux admitidas.

Nota

Si tiene problemas que afectan a una aplicación virtual de red de Azure, este método no se aplica a su situación. En su lugar, debe ponerse en contacto con el proveedor de la aplicación virtual de red para obtener instrucciones sobre cómo realizar un restablecimiento de contraseña de forma segura.

Puede ejecutar los comandos de reparación de máquina virtual para crear una máquina virtual de reparación que tenga una copia del disco del sistema operativo de la máquina virtual afectada conectado. A continuación, monte la copia de los sistemas de archivos del sistema operativo en la máquina virtual de reparación a través del entorno chroot.

Nota

Como alternativa, cree una máquina virtual de rescate manualmente mediante Azure Portal. Para más información, consulte Solución de problemas de una máquina virtual Linux mediante la conexión del disco del sistema operativo a una máquina virtual de recuperación mediante el 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 de 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 PasswordAuthentitcation valor está establecido yes en o no en /etc/ssh/sshd_config ejecutando el comando siguiente:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. Si el PasswordAuthentication valor se establece noen , use un editor de texto como vi o nano para cambiar el valor a yes.

  4. Cree una nueva contraseña para la admin user cuenta o root mediante la ejecución del passwd comando :

    passwd <admin_user>
    
  5. Compruebe si SElinux está en enforcing modo en /etc/sysconfig/selinux mediante la ejecución del comando siguiente:

    cat /etc/sysconfig/selinux
    
  6. Si SElinux está en enforcing modo , asegúrese de que SElinux permite los cambios de archivo realizados con el passwd comando . Después de cambiar 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 sistema operativo en la máquina virtual afectada mediante el intercambio del disco del sistema operativo con el siguiente comando:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Intente acceder a la máquina virtual.

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.