Поделиться через


Как сбросить локальный пароль Linux на виртуальных машинах Azure

Область применения: ✔️ виртуальные машины Linux

В этой статье содержатся три способа сброса паролей локальной виртуальной машины Linux. Если истек срок действия учетной записи пользователя или вы хотите создать новую учетную запись, можно использовать следующие методы для создания учетной записи локального администратора и восстановления доступа к виртуальной машине.

Сброс пароля с помощью агента Linux в Azure

Пароль можно сбросить без подключения диска ОС к другой виртуальной машине. Этот метод требует установки агента Linux Azure на затронутой виртуальной машине.

  1. Убедитесь, что служба агента Linux Azure (waagent) запущена на затронутой виртуальной машине и находится в состоянии готовности в портал Azure.

  2. Настройте переменные среды и используйте Azure CLI или Azure Cloud Shell для сброса пароля:

    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. Попробуйте получить доступ к виртуальной машине.

Сведения об обновлении ключа SSH см. в статье "Управление администраторами", SSH с помощью расширения VMAccess с помощью Azure CLI.

Вы также можете сбросить пароль или ключ SSH с помощью функции сброса пароля в портал Azure.

Дополнительные сведения см. в расширении vmaccess для Linux.

Сброс пароля с помощью последовательной консоли с одним пользователем

Последовательную консоль можно использовать для сброса admin user учетной записи с root помощью однопользовательского режима для доступа к виртуальной машине.

  1. Выполните процедуру однопользовательского режима , чтобы сбросить или добавить пароль.

  2. Убедитесь, что проверка подлинности паролей включена на сервере OpenSSH, если вы пытаетесь войти на сервер с помощью SSH и проверки подлинности паролей.

    1. Проверьте, задано yes ли PasswordAuthentitcation значение или no включено/etc/ssh/sshd_config, выполнив следующую команду:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. PasswordAuthentication Если задано noзначение, используйте текстовый редактор, например vi или nano изменить значение yesна .

  3. Создайте пароль для учетной записи или root учетной admin user passwd записи, выполнив команду:

    passwd <admin_user>
    
  4. Проверьте, находится ли SElinux в enforcing режиме, /etc/sysconfig/selinux выполнив следующую команду:

    cat /etc/sysconfig/selinux
    
  5. Если SElinux находится в enforcing режиме, убедитесь, что SElinux файл внесены изменения в passwd команду. После изменения пароля можно выполнить следующую команду, чтобы переназначить файловую систему, чтобы упростить загрузку изменения.

    touch /.autorelabel
    
  6. Перезагрузите виртуальную машину, выполнив следующую команду:

    /usr/sbin/reboot -f
    
  7. Попробуйте получить доступ к виртуальной машине.

Сброс пароля с помощью виртуальной машины восстановления

Этот метод протестирован с помощью поддерживаемых дистрибутивов и версий Linux.

Примечание.

Если у вас возникли проблемы, влияющие на виртуальное устройство сети Azure, этот метод не применяется к вашей ситуации. Вместо этого необходимо обратиться к поставщику сетевого виртуального устройства, чтобы получить инструкции о безопасном сбросе пароля.

Чтобы создать виртуальную машину с копией подключенного диска ОС виртуальной машины, можно выполнить команды восстановления виртуальной машины. Затем подключите копию файловых систем ОС на виртуальной машине восстановления через среду chroot.

Примечание.

Кроме того, создайте виртуальную машину спасения вручную с помощью портал Azure. Дополнительные сведения см. в статье "Устранение неполадок виртуальной машины Linux путем подключения диска ОС к виртуальной машине восстановления с помощью портал Azure".

  1. Выполните следующие команды az vm repair create , чтобы создать копию диска ОС. Затем диск подключен к виртуальной машине восстановления автоматически.

    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. Войдите на виртуальную машину восстановления и устраните неполадки в среде chroot.

  3. Убедитесь, что проверка подлинности паролей включена на сервере OpenSSH, если вы пытаетесь войти на сервер с помощью SSH и проверки подлинности паролей.

    1. Проверьте, задано yes ли PasswordAuthentitcation значение или no включено/etc/ssh/sshd_config, выполнив следующую команду:

      egrep "^PasswordAuthentication" /etc/ssh/sshd_config
      
    2. PasswordAuthentication Если задано noзначение, используйте текстовый редактор, например vi или nano изменить значение yesна .

  4. Создайте пароль для учетной записи или root учетной admin user passwd записи, выполнив команду:

    passwd <admin_user>
    
  5. Проверьте, находится ли SElinux в enforcing режиме, /etc/sysconfig/selinux выполнив следующую команду:

    cat /etc/sysconfig/selinux
    
  6. Если SElinux находится в enforcing режиме, убедитесь, что SElinux файл внесены изменения в passwd команду. После изменения пароля можно выполнить следующую команду, чтобы переназначить файловую систему, чтобы упростить загрузку изменения.

    touch /.autorelabel
    
  7. Выйти из среды chroot.

  8. Переключите диск ОС на затронутую виртуальную машину, переключив диск ОПЕРАЦИОННОй системы с помощью следующей команды:

    az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
    
  9. Попробуйте получить доступ к виртуальной машине.

Следующие шаги

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или помощь, создайте запрос на поддержку или попросите сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.