I had a similar issues with a Ubuntu ARM VM on Azure. I logged into my VM, ran a similar update as RoboShop, then rebooted my VM. Once it rebooted I could not login.
I'm not sure what caused the issue but I fixed it by resetting my VM's password. Unfortunately you can't reset the password via new Azure Portal. It simply says "coming soon".
I reset the password via PowerShell using the steps found at:
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-troubleshoot-ssh-connections/
In summary the steps are:
1) Fire up the Azure PowerShell and connect to Azure account. If you are like me and can never remember how to do this run the following command:
Add-AzureAccount
2) Switch to ARM commands:
Switch-AzureMode -Name AzureResourceManager
3) Reset the SSH connection. The command might take a minute or two so be patient. When it's complete you should see a "Status: Succeeded" message. Don't forget to change everything in "<>" brackets:
Set-AzureVMExtension -ResourceGroupName "<ResourceName>" -VMName "<VMName>" -Location "<VMLocation>" -Name "VMAccessForLinux" -Publisher "Microsoft.OSTCExtensions" -ExtensionType "VMAccessForLinux" -TypeHandlerVersion "1.2" -SettingString "{}" -ProtectedSettingString '{"reset_ssh":true}'
4) Restart the VM via the Azure Portal.
5) Set the new password. Notice that this command just changes an existing username's password. It dose note create a new user. This command also takes a while and should produce a "Status: Succeeded" message. Change everything in "<>" brackets and don't forget the existing username and new password:
$RGName = '<ResourceName>'
$VmName = '<VMName>'
$Location = '<VMLocation>'
$ExtensionName = 'VMAccessForLinux'
$Publisher = 'Microsoft.OSTCExtensions'
$Version = '1.2'
$PublicConf = '{}'
$PrivateConf = '{"username":"<ExistingUserName>", "password":"<NewPassword>", "ssh_key":"", "reset_ssh":false, "remove_user":""}'
Set-AzureVMExtension -ResourceGroupName $RGName -VMName $VmName -Location $Location -Name $ExtensionName -Publisher $Publisher -ExtensionType $ExtensionName -TypeHandlerVersion $Version -SettingString $PublicConf -ProtectedSettingString $PrivateConf
6) Now you should be able to SSH into the VM with your new password.