如何在 Windows Azure 上的 Linux VM 上重置 root 密码?

如何在 Windows Azure 上的 Linux VM 上重置 root 密码?

我在 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>

相关内容