vmware linux ssh密码,从 CLI 重置 Linux VM 密码和 SSH 密钥 - Azure Virtual Machines | Microsoft Docs...

如何使用 VMAccess 扩展重置 Linux VM 密码或 SSH 密钥、修复 SSH 配置,以及检查磁盘一致性

04/30/2018

本文内容

重要

经典 VM 将于 2023 年 3 月 1 日停用。

如果从 ASM 使用 IaaS 资源,请在 2023 年 3 月 1 日之前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。

如果因为忘记密码、安全外壳 (SSH) 密钥不正确或 SSH 配置出现问题而不能连接到 Azure 上的 Linux 虚拟机,请使用 VMAccessForLinux 扩展通过 Azure CLI 重置密码或 SSH 密钥、修复 SSH 配置以及检查磁盘一致性。

备注

Azure 提供两个不同的部署模型用于创建和处理资源:Resource Manager 和经典模型。 本文介绍如何使用经典部署模型。 Microsoft 建议大多数新部署使用资源管理器模型。 了解如何使用 Resource Manager 模型执行这些步骤。

借助 Azure CLI,可以从命令行接口(Bash、终端、命令提示符)使用 azure vm extension set 命令来访问各种命令。 运行 azure help vm extension set 了解扩展的详细用法。

借助 Azure CLI,可以执行以下任务:

必备条件

需要执行以下操作:

需要安装 Azure CLI 并连接到订阅才能使用帐户关联的 Azure 资源。

在命令提示符下键入以下命令,为经典部署模型设置正确的模式:

azure config mode asm

设置一个新密码或一组新 SSH 密钥(如果想要重置任一项)。 如果想要重置 SSH 配置,则不需要这些。

重置密码

使用以下代码行在本地计算机上创建名为 PrivateConf.json 的文件。 将 myUserName 和 myP@ssW0rd 替换为自己的用户名和密码,并设置自己的过期日期。

{

"username":"myUserName",

"password":"myP@ssW0rd",

"expiration":"2020-01-01"

}

运行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json

重置 SSH 密钥

使用以下内容创建名为 PrivateConf.json 的文件。 将 myUserName 和 mySSHKey 值替换为自己的信息。

{

"username":"myUserName",

"ssh_key":"mySSHKey"

}

运行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json

重置密码和 SSH 密钥

使用以下内容创建名为 PrivateConf.json 的文件。 将 myUserName、mySSHKey 和 myP@ssW0rd 值替换为自己的信息。

{

"username":"myUserName",

"ssh_key":"mySSHKey",

"password":"myP@ssW0rd"

}

运行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json

创建新的 sudo 用户帐户

如果忘记了用户名,可以使用 VMAccess 创建一个具有 sudo 授权的新用户帐户。 在这种情况下,不会修改现有的用户名和密码。

若要创建具有密码访问权限的新 sudo 用户,请使用重置密码中的脚本并指定新用户名。

若要创建具有 SSH 密钥访问权限的新 sudo 用户,请使用重置 SSH 密钥中的脚本并指定新用户名。

还可以使用重置密码和 SSH 密钥来创建同时具有密码和 SSH 密钥访问权限的新用户。

重置 SSH 配置

如果 SSH 配置处于某种意外状态,可能会丢失对 VM 的访问权限。 可以使用 VMAccess 扩展将配置重置为其默认状态。 为此,只需将“reset_ssh”键设置为“True”。 该扩展将重新启动 SSH 服务器,打开 VM 上的 SSH 端口,然后将 SSH 配置重置为默认值。 将不会更改用户帐户(名称、密码或 SSH 密钥)。

备注

重置后的 SSH 配置文件位于 /etc/ssh/sshd_config 中。

使用以下内容创建名为 PrivateConf.json 的文件。

{

"reset_ssh":"True"

}

运行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json

删除用户

如果想要不登录 VM 就直接删除用户帐户,可以使用此脚本。

创建包含以下内容的名为 PrivateConf.json 的文件(请将 removeUserName 替换为要删除的用户名)。

{

"remove_user":"removeUserName"

}

运行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json

显示 VMAccess 扩展的状态

若要显示 VMAccess 扩展的状态,请运行以下命令。

azure vm extension get

检查已添加磁盘的一致性

若要在 Linux 虚拟机的所有磁盘上运行 fsck,需执行以下操作:

使用以下内容创建名为 PublicConf.json 的文件。 Check Disk 采用的布尔值表示是否检查附加到虚拟机的磁盘。

{

"check_disk": "true"

}

执行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json

修复磁盘

若要修复无法装入或存在装入配置错误的磁盘,请使用 VMAccess 扩展重置 Linux 虚拟机上的装入配置。 请将 myDisk 替换为自己的磁盘名称。

使用以下内容创建名为 PublicConf.json 的文件。

{

"repair_disk":"true",

"disk_name":"myDisk"

}

执行以下命令(请将 myVM 替换为自己的虚拟机名称)。

azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json

后续步骤

若要使用 Azure PowerShell cmdlet 或 Azure 资源管理器模板来重置密码或 SSH 密钥、修复 SSH 配置和检查磁盘一致性,请参阅 GitHub 上的 VMAccess 扩展文档。

也可以使用 Azure 门户来重置部署在经典部署模型中的 Linux VM 的密码或 SSH 密钥。 目前无法使用门户针对部署在 Resource Manager 部署模型中的 Linux VM 执行上述操作。

有关使用适用于 Azure 虚拟机的 VM 扩展的详细信息,请参阅关于虚拟机扩展和功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值