Как сбросить локальный пароль Linux на виртуальных машинах Azure
Область применения: ✔️ виртуальные машины Linux
В этой статье содержатся три способа сброса паролей локальной виртуальной машины Linux. Если истек срок действия учетной записи пользователя или вы хотите создать новую учетную запись, можно использовать следующие методы для создания учетной записи локального администратора и восстановления доступа к виртуальной машине.
Сброс пароля с помощью агента Linux в Azure
Пароль можно сбросить без подключения диска ОС к другой виртуальной машине. Этот метод требует установки агента Linux Azure на затронутой виртуальной машине.
Убедитесь, что служба агента Linux Azure (waagent) запущена на затронутой виртуальной машине и находится в состоянии готовности в портал Azure.
Настройте переменные среды и используйте 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
Попробуйте получить доступ к виртуальной машине.
Сведения об обновлении ключа 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
на .
Создайте пароль для учетной записи или
root
учетнойadmin user
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
на .
Создайте пароль для учетной записи или
root
учетнойadmin user
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
Попробуйте получить доступ к виртуальной машине.
Следующие шаги
Troubleshoot Azure VM by attaching OS disk to another Azure VM (Устранение неполадок виртуальной машины Azure путем присоединения диска ОС к другой виртуальной машине Azure)
Azure CLI: удаление и повторное развертывание виртуальной машины из VHD
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или помощь, создайте запрос на поддержку или попросите сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.