我在 Azure 上运行了一年多的 Linux VM。我忘记了帐户密码。但是我仍然能够通过 ssh 进入虚拟机,因为它有我的 ssh 密钥。请注意,root 帐户没有我的 ssh 密钥,因此我无法通过 ssh 进入 root。此外,我通过 ssh 后无法使用 sudo,因为它会提示输入密码。
我尝试使用 azure cli,特别是http://azure.microsoft.com/blog/2014/08/25/using-vmaccess-extension-to-reset-login-credentials-for-linux-vm/。这不起作用,因为我的 waagent 版本是 WALinuxAgent-1.3.2,而最低要求是 2+。
还有其他方法可以重置此虚拟机上的 root 密码吗?
答案1
我不太了解 Azure,但我认为您可以使用管理员访问权限更改密码。在 Linux 中:
sudo passwd root
在 Windows 中:
(在管理员cmd中)
net users root *
答案2
这个特定问题现在可能已经解决了(希望如此)。如果您无法登录远程访问帐户,我建议使用 Azure CLI 而不是 powershell。这些步骤确实有效,而且容易得多。
注意:此示例使用新的资源管理器类型虚拟机进行测试。
确保已安装 azure cli。打开终端
$ azure login
注意:按照说明在浏览器中输入临时访问代码
检查您的有效订阅:
$ azure account list
如果尚未设置,请设置所需的订阅。您可以通过访问订阅资源在 Azure 门户中验证其 ID
$ azure account set <SubName or SubId>
设置资源管理器模式
$ azure config mode arm
重置密码。此命令还将安装所需的扩展。这需要一段时间,所以喝点东西吧!
$ azure vm reset-access -g <res-group-name> -n <vm-name> -u <username> -p <new-pwd>
答案3
我找不到任何信息来帮助解决您的特定情况,但解决方法是下载磁盘并使用此磁盘在本地 hyper-v 上创建虚拟机。这样,您将拥有控制台访问权限,并可以进入恢复模式来重置密码。接下来,上传 vhd 并重新部署虚拟机。
答案4
Nick 的回答已针对 azure CLI 2.0 进行更新:
登录:
az login
设置帐户:
az account set -s <accountname>
重设密码:
az vm user update --resource-group <res-group-name> --name <vmname> --username <username> --password <newpassword>