|
|
|
|
移动端

5.4.3 重置密码与SSH 配置

《Microsoft Azure 管理与开发.上册,基础设施服务IaaS》本书是当下关于Microsoft Azure 产品的书籍中特别具有完整性、实用性的一本书,由Microsoft Azure中国区运维团队——世纪互联蓝云的资深工程师们编写。本节为大家介绍重置密码与SSH 配置。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-06 10:34

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

5.4.3 重置密码与SSH 配置

利用VM Agent 在虚拟机中安装扩展,可以为虚拟机重置密码,还可以为虚拟机重置SSH 配置。

1. Windows 虚拟机重置密码

针对Windows 虚拟机,可以使用下面的Azure Powershell 命令进行密码重置:

  1. PS C:\Users\XXX> $extension = "VMAccessAgent"  
  2. PS C:\Users\XXX> $publisher = "Microsoft.Compute"  
  3. PS C:\Users\XXX> $ver = "2.*"  
  4. PS C:\Users\XXX> $publicConf = '{"UserName":"DemoUser"}' 
  5. PS C:\Users\XXX> $privateConf = '{"Password":"Passw0rd!"}' 
  6. PS C:\Users\XXX> $vm = Get-AzureVM -ServiceName DemoCloudService -Name DemoVM  
  7. PS C:\Users\XXX> Set-AzureVMExtension -VM $vm -ExtensionName $extension  
  8. -Publisher $publisher -Version $ver -Public  
  9. Configuration $publicConf -PrivateConfiguration $privateConf |  
  10. Update-AzureVM 

在上面的命令中版本号我们指定2.*的原因是,目前扩展VMAccessAgent 的大版本是2,通过制定小版本*可以让VM Agent 安装最新版本的VMAccessAgent。

重置成功后,可以在虚拟机的仪表板中查看扩展的安装状态,如图5.4-4 所示。

可以看到扩展已经安装成功,版本是2.3,从消息中看到已经成功为管理员用户重置了密码的说明。

这里有两点需要说明:

(1) 如果用来重置的用户名与原用户名不同,重置成功后,会将原来的管理员用户替换为新的重置用户,例如上面的例子中,指定的重置用户名为DemoUser,重置成功后,原管理员用户就变成了DemoUser,密码也变为了新密码。

(2) 由于VM Agent 需要使用管理员用户权限执行操作,所以在管理员被禁用的情况下,或者管理员密码过期的情况下,是无法通过VM Agent 重置密码的。

2. Linux 虚拟机重置密码

Linux 虚拟机重置密码的命令与Windows 类似,也是使用Azure Powershell 调用VMAgent 为虚拟机安装重置密码的扩展工具,命令如下:

  1. $extension = "VMAccessForLinux"  
  2. $publisher = "Microsoft.OSTCExtensions"  
  3. $ver = "1.*"  
  4. $privateConf = '{"username":"DemoUser", "password":"Passw0rd!"}' 
  5. $vm = Get-AzureVM -ServiceName DemoCloudService -Name DemoLinuxVM  
  6. Set-AzureVMExtension -VM $vm -ExtensionName $extension -Publisher $publisher  
  7. -Version $ver -Privat  
  8. eConfiguration $privateConf | Update-AzureVM 

重置完成后,也可以在虚拟机仪表板中找到安装的扩展,如图5.4-5 所示。

对于Linux 虚拟机而言,如果指定的用户名与原用户名不同,并不会将原管理员用户清除。

3. Linux 虚拟机重置SSH 配置

重置SSH 配置文件也是通过VMAccessForLinux 扩展,不同的是privateConfiguration参数中传入的json 参数,脚本如下:

  1. $extension = "VMAccessForLinux"  
  2. $publisher = "Microsoft.OSTCExtensions"  
  3. $ver = "1.*"  
  4. $privateConf = '{"reset_ssh":"True"}' 
  5. $vm = Get-AzureVM -ServiceName DemoCloudService -Name DemoLinuxVM  
  6. Set-AzureVMExtension -VM $vm -ExtensionName $extension -Publisher $publisher  
  7. -Version $ver -Privat  
  8. eConfiguration $privateConf | Update-AzureVM 

重置成功后,会将/etc/ssh/sshd_conf 文件重置为默认配置。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

征服Python—语言基础与典型应用

Python是目前流行的脚本语言之一。本书由浅入深、循序渐进地讲解如何使用Python进行程序开发。全书内容包括Python安装、开发工具简介、Pyth...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊