安全补丁和重新启动后,Azure Ubuntu VM完全没有响应

我有一个Azure虚拟机,我主持了一些网站。 最近,我login,它需要一些安全更新,所以根据这个链接( https://askubuntu.com/questions/196768/how-to-install-updates-via-command-line ),我跑这个脚本。

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dost-upgrade 

它做了它的事情,安装补丁,然后让我重新启动我的虚拟机。 我这样做后,我现在不能再ssh进入,我不能访问Web应用程序,我不能ping它。

我已经尝试在Azure门户中重新启动虚拟机,虽然状态为“正在运行”,但Azure认为虚拟机正在运行,但虚拟机完全没有响应。

我有一种感觉,也许这些补丁损坏了虚拟机本身。 但我无法告诉,因为我无法连接到它看到发生了什么,我什至不能访问任何日志。

在这种情况下我能做些什么?

如果您的VM是V2,引导诊断可能有助于发现问题:

https://azure.microsoft.com/en-us/blog/boot-diagnostics-for-virtual-machines-v2/

帕斯卡尔

我在Azure上的Ubuntu ARM VM上遇到类似的问题。 我login到我的虚拟机,运行类似RoboShop更新,然后重新启动我的虚拟机。 一旦重新启动,我无法login。

我不确定是什么原因造成的,但我通过重置我的虚拟机的密码来修复它。 不幸的是,您不能通过新的Azure门户重置密码。 它只是说“即将到来”。

我使用PowerShell中的步骤重置密码:

https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-troubleshoot-ssh-connections/

总之,这些步骤是:

1)启动Azure PowerShell并连接到Azure帐户。 如果你像我一样,永远不会记得如何做到这一点,运行以下命令:

 Add-AzureAccount 

2)切换到ARM命令:

 Switch-AzureMode -Name AzureResourceManager 

3)重置SSH连接。 命令可能需要一两分钟,所以耐心等待。 完成后,您应该看到“状态:成功”消息。 不要忘记更改“<>”括号中的所有内容:

 Set-AzureVMExtension -ResourceGroupName "<ResourceName>" -VMName "<VMName>" -Location "<VMLocation>" -Name "VMAccessForLinux" -Publisher "Microsoft.OSTCExtensions" -ExtensionType "VMAccessForLinux" -TypeHandlerVersion "1.2" -SettingString "{}" -ProtectedSettingString '{"reset_ssh":true}' 

4)通过Azure Portal重新启动虚拟机。

5)设置新的密码。 注意这个命令只是改变一个现有的用户名密码。 它注意到创build一个新的用户。 此命令也需要一段时间,并应产生一个“状态:成功”的消息。 更改“<>”括号中的所有内容,不要忘记现有的用户名和新密码:

 $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)现在你应该可以使用你的新密码进入虚拟机。

检查公有IP是否发生了变化(如果IP未configuration为静态,则发生),如果使用Ip从SSH进行连接

这是首选的连接使用DNS名称,而不是你知道的:)