Setup1: 这种方法仅适用于已存在的用户,也就是说$Username是之前创建过的用户,否则不适用

1. 指定虚拟机

  1. $vm = Get-AzureVM -ServiceName '云服务名称' -Name '虚拟机名称'
  2. $vm.GetInstance().ProvisionGuestAgent = $true

2. 输入您当前的用户名和新密码

  1. $UserName = "指定用户名"
  2. $Password = "指定密码"
  3. $PrivateConfig = '{"username":"'+ $UserName + '", "password":"' + $Password + '"}'

3. 开始执行

  1. $ExtensionName = 'VMAccessForLinux'
  2. $Publisher = 'Microsoft.OSTCExtensions'
  3. $Version = '1.0'
  4. Set-AzureVMExtension -ExtensionName $ExtensionName -VM $vm -Publisher $Publisher -Version $Version -PrivateConfiguration $PrivateConfig | Update-AzureVM

Setup2: 如果是由于错误修改了SSH的配置文件导致无法登录,例如在登录时报错:This service allows sftp connections only.Connection to vm closed.这是因为错误配置了sftp导致的,那碰到这种问题需要做的是重置ssh服务。

1. 指定虚拟机

  1. $vm = Get-AzureVM -ServiceName 'MyServiceName' -Name 'MyVMName'
  2. $PrivateConfig = '{"reset_ssh":"True"}''

2. 开始执行

  1. $ExtensionName = 'VMAccessForLinux'
  2. $Publisher = 'Microsoft.OSTCExtensions'
  3. $Version = '1.0'
  4. Set-AzureVMExtension -ExtensionName $ExtensionName -VM $vm -Publisher $Publisher -Version $Version -PrivateConfiguration $PrivateConfig | Update-AzureVM