Em um piscar de olhos, você pode baixar o disco rígido virtual da VM e montá-lo em qualquer sistema Windows (ou anexá-lo a uma máquina virtual Hyper-V).
Eu tenho uma VM do Azure clássica executando o Ubuntu 14.04. Ele estava sendo executado em um padrão A0 (1 núcleo, 0,75 GB de memória) e eu redimensionei para o padrão A2 usando o portal da Web.
Após o redimensionamento, o SSH não funcionou mais. Ele alertou sobre as chaves alteradas e depois que eu removi a entrada dos hosts conhecidos, ela se conectou à sessão, mas não aceitou a senha da conta azureuser
.
Eu tentei redefinir a senha usando:
azure vm extension set compilemachine "VMAccessForLinux" "Microsoft.OSTCExtensions"
"1.*" -r "Microsoft.OSTCExtensions.VMAccessForLinux"
Mas o CLI não funciona devido à falta do Provision Guest Agent
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
Alguma sugestão sobre como recuperar os dados da VM? Ou para recuperar o acesso à VM?
Em um piscar de olhos, você pode baixar o disco rígido virtual da VM e montá-lo em qualquer sistema Windows (ou anexá-lo a uma máquina virtual Hyper-V).
Podemos usar este script para redefinir a senha:
1. crie um arquivo .json, assim:
{
"username": "azureuser",
"password": "newpassword"
}
salve-o no seu computador.
2. login azure com 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
Depois de concluído , poderemos usar uma nova senha para acessar a VM (por favor, tente usar FQDN para acessar esta VM: xxxx.cloudapp.net). p>
A propósito, se o erro ocorrer novamente, use o PowerShell para verificar o valor de ProvisionGuestAgent:
Add-AzureAccount
$vm = Get-AzureVM -ServiceName 'MyServiceName' -Name 'MyVMName'
$vm.GetInstance().ProvisionGuestAgent
Se o valor não estiver definido como "true", devemos usar o comando flow para definir o ProvisionGuestAgent como "True":
$vm.GetInstance().ProvisionGuestAgent = $true
Any hints on how to recover the data from the VM? Or to recover the access to the VM?
Se você quiser recuperar os dados da VM, podemos criar outra VM2, excluir essa VM (manter disco) e montar o disco na VM2, dessa forma, podemos copiar os dados para a nova VM. br> Também podemos adicionar novo usuário ao arquivo / etc / passwd e / etc / shadow e / etc / group da vm1. depois disso, podemos usar esse VHD para criar uma nova VM, igual à sua anterior.
Tags azure virtual-machines