Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Классические виртуальные машины будут прекращены 1 марта 2023 г.
Если вы используете ресурсы IaaS из ASM, выполните миграцию к 1 марта 2023 г. Рекомендуем осуществить этот переход как можно раньше, чтобы воспользоваться различными улучшенными функциями в Azure Resource Manager.
Дополнительные сведения см. в статье Перенос ресурсов IaaS в Azure Resource Manager с 1 марта 2023 г..
Если вы не можете подключиться к виртуальной машине Linux в Azure из-за забытого пароля, неправильного ключа Secure Shell (SSH) или проблемы с конфигурацией SSH, используйте расширение VMAccessForLinux с Azure CLI для сброса пароля или ключа SSH, исправьте конфигурацию SSH и проверьте согласованность дисков.
Замечание
Azure имеет две различные модели развертывания для создания и работы с ресурсами: Resource Manager и классических. В этой статье описывается использование классической модели развертывания. Корпорация Майкрософт рекомендует использовать модель Resource Manager для большинства новых развертываний. Узнайте, как выполнить эти действия с помощью модели Resource Manager.
С помощью Azure CLI вы используете команду набора расширений виртуальной машины Azure из интерфейса командной строки (Bash, терминала, командной строки) для доступа к командам. Запустите azure help vm extension set для получения подробной информации об использовании расширений.
С помощью Azure CLI можно выполнить следующие задачи:
- Сброс пароля
- Сброс ключа SSH
- Сброс пароля и ключа SSH
- Создание учетной записи пользователя sudo
- Сброс конфигурации SSH
- Удаление пользователя
- Отображение состояния расширения VMAccess
- Проверка согласованности добавленных дисков
- Восстановление добавленных дисков на виртуальной машине Linux
Предпосылки
Вам потребуется выполнить следующие действия:
- Вам потребуется установить Azure CLI и подключиться к подписке , чтобы использовать ресурсы Azure, связанные с вашей учетной записью.
- Задайте правильный режим для классической модели развертывания, введя следующее в командной строке:
azure config mode asm - У вас есть новый пароль или набор ключей SSH, если вы хотите сбросить один из них. Вам не нужны эти вещи, если вы хотите сбросить конфигурацию SSH.
Сброс пароля
Создайте файл на локальном компьютере с именем PrivateConf.json с этими строками. Замените myUserName и myP@ssW0rd собственным именем пользователя и паролем и задайте дату окончания срока действия.
{ "username":"myUserName", "password":"myP@ssW0rd", "expiration":"2020-01-01" }Выполните эту команду, заменив myVM на имя вашей виртуальной машины.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
Сброс ключа SSH
Создайте файл с именем PrivateConf.json с этим содержимым. Замените значения myUserName и mySSHKey собственными сведениями.
{ "username":"myUserName", "ssh_key":"mySSHKey" }Выполните эту команду, заменив myVM именем вашей виртуальной машины.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Сброс пароля и ключа SSH
Создайте файл с именем PrivateConf.json с этим содержимым. Замените значения myUserName, mySSHKey и myP@ssW0rd собственными сведениями.
{ "username":"myUserName", "ssh_key":"mySSHKey", "password":"myP@ssW0rd" }Выполните эту команду, подставив имя виртуальной машины для myVM.
azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Создание учетной записи пользователя sudo
Если вы забыли имя пользователя, вы можете использовать VMAccess для создания нового с правами доступа sudo. В этом случае существующее имя пользователя и пароль не будут изменены.
Чтобы создать нового пользователя sudo с доступом к паролям, используйте сценарий в разделе "Сброс пароля " и укажите новое имя пользователя.
Чтобы создать нового пользователя sudo с доступом к ключу SSH, используйте сценарий в разделе "Сброс ключа SSH " и укажите новое имя пользователя.
Также можно использовать сброс пароля и SSH-ключа для создания нового пользователя с доступом через пароль и SSH-ключ.
Сброс конфигурации SSH
Если конфигурация SSH находится в неизбежном состоянии, вы также можете потерять доступ к виртуальной машине. Расширение VMAccess можно использовать для сброса конфигурации в состояние по умолчанию. Для этого просто необходимо задать для ключа "reset_ssh" значение True. Расширение перезагрузит сервер SSH, откройте порт SSH на виртуальной машине и сбросит конфигурацию SSH до значений по умолчанию. Учетная запись пользователя (имя, пароль или ключи SSH) не будет изменена.
Замечание
Файл конфигурации SSH, который получает сброс, находится по адресу /etc/ssh/sshd_config.
Создайте файл с именем PrivateConf.json с этим содержимым.
{ "reset_ssh":"True" }Выполните эту команду, подставив имя виртуальной машины для myVM.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Удаление пользователя
Если вы хотите удалить учетную запись пользователя без входа в виртуальную машину напрямую, можно использовать этот сценарий.
Создайте файл с именем PrivateConf.json с этим содержимым, заменив имя пользователя, чтобы удалить для removeUserName.
{ "remove_user":"removeUserName" }Выполните эту команду, подставив имя вашей виртуальной машины вместо myVM.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
Отображение состояния расширения VMAccess
Чтобы отобразить состояние расширения VMAccess, выполните следующую команду.
azure vm extension get
Проверка согласованности добавленных дисков
Чтобы запустить fsck на всех дисках виртуальной машины Linux, вам потребуется выполнить следующие действия:
Создайте файл с именем PublicConf.json с этим содержимым. Проверка диска принимает логическое значение, указывающее, следует ли проверять диски, подключенные к вашей виртуальной машине.
{ "check_disk": "true" }Выполните эту команду, заменив имя виртуальной машины на myVM.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
Восстановление дисков
Чтобы восстановить диски, которые не монтируются или имеют ошибки конфигурации монтирования, используйте расширение VMAccess для сброса конфигурации монтирования на виртуальной машине Linux. Замените название вашего диска на myDisk.
Создайте файл с именем PublicConf.json с этим содержимым.
{ "repair_disk":"true", "disk_name":"myDisk" }Введите эту команду, заменив myVM на имя вашей виртуальной машины.
azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
Дальнейшие шаги
- Если вы хотите использовать командлеты Azure PowerShell или шаблоны Azure Resource Manager для сброса пароля или ключа SSH, исправьте конфигурацию SSH и проверьте согласованность дисков, см. документацию по расширению VMAccess на сайте GitHub.
- Вы также можете использовать портал Azure для сброса пароля или ключа SSH виртуальной машины Linux, развернутой в классической модели развертывания. В настоящее время вы не можете использовать портал для виртуальной машины Linux, развернутой в модели развертывания Resource Manager.
- Чтобы получить больше информации об использовании расширений и функций для виртуальных машин Azure, см. раздел О расширениях и функциях виртуальных машин.