Сброс локального пароля Linux на виртуальных машинах Azure
В этой статье представлены три метода сброса паролей локальной виртуальной машины Linux. Если срок действия учетной записи пользователя истек или вы хотите создать новую учетную запись, можно использовать следующие методы, чтобы создать учетную запись локального администратора и восстановить доступ к виртуальной машине.
Сброс пароля с помощью агента Linux для Azure
Вы можете сбросить пароль, не присоединяя диск ОС к другой виртуальной машине. Для этого метода требуется, чтобы агент Linux Azure был установлен на затронутой виртуальной машине.
Убедитесь, что служба агента Azure Linux (waagent) запущена на затронутой виртуальной машине и находится в состоянии готовности в портал Azure.
Настройте переменные среды и используйте Azure CLI или Cloud Shell Azure для сброса пароля:
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
Попробуйте получить доступ к виртуальной машине.
Сведения об обновлении ключа SSH см. в статье Управление административными пользователями, SSH с помощью расширения VMAccess с Помощью Azure CLI.
Вы также можете сбросить пароль или ключ SSH с помощью функции сброса пароля в портал Azure.
Дополнительные сведения см. в статье Расширение vmaccess для Linux.
Сброс пароля с помощью последовательной консоли в однопользовательском режиме
Последовательную консоль можно использовать для сброса учетной admin user
записи или root
в однопользовательском режиме для доступа к виртуальной машине.
Выполните однопользовательский режим , чтобы сбросить или добавить пароль.
Убедитесь, что проверка подлинности по паролю включена на сервере OpenSSH, если вы пытаетесь войти на сервер с помощью проверки подлинности SSH и пароля.
Проверьте, задано
yes
лиPasswordAuthentitcation
значение илиno
в,/etc/ssh/sshd_config
выполнив следующую команду:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
PasswordAuthentication
Если для параметра задано значениеno
, используйте текстовый редактор,vi
например илиnano
, чтобы изменить значение наyes
.
Создайте новый пароль для учетной
admin user
записи илиroot
, выполнивpasswd
команду :passwd <admin_user>
Проверьте, находится ли
SElinux
вenforcing
режиме ,/etc/sysconfig/selinux
выполнив следующую команду:cat /etc/sysconfig/selinux
Если
SElinux
находится вenforcing
режиме , убедитесь, чтоSElinux
разрешены изменения файла, внесенныеpasswd
с помощью команды . После изменения пароля можно выполнить следующую команду, чтобы переназначить файловую систему, чтобы упростить загрузку изменения.touch /.autorelabel
Перезагрузите виртуальную машину, выполнив следующую команду:
/usr/sbin/reboot -f
Попробуйте получить доступ к виртуальной машине.
Сброс пароля с помощью виртуальной машины восстановления
Этот метод был протестирован с помощью поддерживаемых дистрибутивов и версий Linux.
Примечание.
Если у вас возникли проблемы, влияющие на виртуальную (модуль) сети Azure, этот метод не применяется к вашей ситуации. Вместо этого необходимо обратиться к поставщику виртуальной сетевой (модуль), чтобы получить инструкции о безопасном сбросе пароля.
Вы можете выполнить команды восстановления виртуальной машины , чтобы создать виртуальную машину восстановления с копией подключенного диска ОС затронутой виртуальной машины. Затем подключите копию файловых систем ОС к виртуальной машине восстановления через среду chroot.
Примечание.
Кроме того, создайте виртуальную машину для спасения вручную с помощью портал Azure. Дополнительные сведения см. в статье Устранение неполадок виртуальной машины Linux путем присоединения диска ОС к виртуальной машине восстановления с помощью портал Azure.
Выполните следующие команды 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
Войдите в виртуальную машину восстановления и устраните неполадки в среде chroot.
Убедитесь, что проверка подлинности по паролю включена на сервере OpenSSH, если вы пытаетесь войти на сервер с помощью проверки подлинности SSH и пароля.
Проверьте, задано
yes
лиPasswordAuthentitcation
значение илиno
в,/etc/ssh/sshd_config
выполнив следующую команду:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
PasswordAuthentication
Если для параметра задано значениеno
, используйте текстовый редактор,vi
например илиnano
, чтобы изменить значение наyes
.
Создайте новый пароль для учетной
admin user
записи илиroot
, выполнивpasswd
команду :passwd <admin_user>
Проверьте, находится ли
SElinux
вenforcing
режиме ,/etc/sysconfig/selinux
выполнив следующую команду:cat /etc/sysconfig/selinux
Если
SElinux
находится вenforcing
режиме , убедитесь, чтоSElinux
разрешены изменения файла, внесенныеpasswd
с помощью команды . После изменения пароля можно выполнить следующую команду, чтобы переназначить файловую систему, чтобы упростить загрузку изменения.touch /.autorelabel
Выйдите из среды chroot.
Повторно подключите диск ОС к затронутой виртуальной машине, переключив диск ОС с помощью следующей команды:
az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
Попробуйте получить доступ к виртуальной машине.
Дальнейшие действия
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по