Изменение размера Azure и потеря пароля

У меня есть классическая виртуальная машина Azure под управлением Ubuntu 14.04. Он работал в стандартном A0 (1 ядро, 0,75 ГБ памяти), и я изменил размер до Standard A2 с помощью веб-портала.

После изменения размера SSH больше не работал. Он предупредил об изменении ключей и после того, как я удалил запись с известных хостов, он подключился к сеансу, но не принял пароль для учетной записи azureuser .

Я попытался сбросить пароль, используя:

azure vm extension set compilemachine "VMAccessForLinux" "Microsoft.OSTCExtensions" 
"1.*" -r "Microsoft.OSTCExtensions.VMAccessForLinux"

] Но CLI не работает из-за отсутствия гостевого агента Provision

info:    Executing command vm extension set
+ Getting virtual machines
error:   Provision Guest Agent must be enabled on the VM before setting VM Extension.
error:   Error information has been recorded to /Users/user/.azure/azure.err
error:   vm extension set command failed

Есть какие-нибудь подсказки о том, как восстановить данные с виртуальной машины? Или восстановить доступ к виртуальной машине?

1
задан 15 March 2017 в 23:16
2 ответа

В крайнем случае, вы можете загрузить виртуальный жесткий диск для ВМ и смонтировать его на любой системе Windows (или прикрепить его к виртуальной машине Hyper-V).

.
2
ответ дан 3 December 2019 в 20:27

Мы можем использовать этот скрипт для сброса пароля:
. 1. создайте файл .json, вот так:

{
  "username": "azureuser",
  "password": "newpassword"
}

затем сохраните его на вашем компьютере.
. 2. вход в лазурь с помощью CLI:

azure login
azure config mode asm
azure vm extension set ubuntu VMAccessForLinux Microsoft.OSTCExtensions "1.4" --private-config-path C:\Users\Desktop\jason\protected.json
info:    Executing command vm extension set
+ Getting virtual machines
+ Updating vm extension
info:    vm extension set command OK

после его завершения , мы можем использовать новый пароль для входа в ВМ (пожалуйста, попробуйте использовать FQDN для входа в эту ВМ:xxxx.cloudapp.net).

Кстати, если ошибка повторится, пожалуйста, используйте PowerShell для проверки значения ProvisionGuestAgent:

Add-AzureAccount
$vm = Get-AzureVM -ServiceName 'MyServiceName' -Name 'MyVMName'
$vm.GetInstance().ProvisionGuestAgent

Если значение не установлено в "true", мы должны использовать команду flow для установки значения "True" для ProvisionGuestAgent:

$vm.GetInstance().ProvisionGuestAgent = $true

Какие-нибудь подсказки о том, как восстановить данные из ВМ? Или восстановить доступ к ВМ?

Если вы хотите восстановить данные с ВМ, мы можем создать другую ВМ2, затем удалить эту ВМ(keep disk), и подключить диск к ВМ2, таким образом, мы сможем скопировать данные на новую ВМ.
. Также мы можем добавить нового пользователя в /etc/passwd и /etc/shadow и /etc/group в vm1. После этого мы можем использовать этот VHD для создания новой ВМ, как и вашу предыдущую.

.
0
ответ дан 3 December 2019 в 20:27

Теги

Похожие вопросы