我正在测试Windows Azure的IaaS部分,并且我已经通过REST API成功部署了各种虚拟机实例。用于启动VM的POST请求的XML主体如下:
<Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Name>Azure</Name>
<DeploymentSlot>Production</DeploymentSlot>
<Label>Azure IM created VM</Label>
<RoleList>
<Role i:type="PersistentVMRole">
<RoleName>IMVMRole</RoleName>
<OsVersion i:nil="true"/>
<RoleType>PersistentVMRole</RoleType>
<ConfigurationSets>
<ConfigurationSet i:type="LinuxProvisioningConfigurationSet">
<ConfigurationSetType>LinuxProvisioningConfiguration</ConfigurationSetType>
<HostName>AzureNode</HostName>
<UserName>user</UserName>
<UserPassword>Prueba+1111</UserPassword>
<DisableSshPasswordAuthentication>false</DisableSshPasswordAuthentication>
</ConfigurationSet>
<ConfigurationSet i:type="NetworkConfigurationSet">
<ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
<InputEndpoints>
<InputEndpoint>
<LocalPort>22</LocalPort>
<Name>SSH</Name>
<Port>22</Port>
<Protocol>TCP</Protocol>
</InputEndpoint>
</InputEndpoints>
</ConfigurationSet>
</ConfigurationSets>
<Label>Azure IM created VM</Label>
<OSVirtualHardDisk>
<MediaLink>https://XXXXXXX.blob.core.windows.net/vhds/0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.4.vhd</MediaLink>
<SourceImageName>0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.4</SourceImageName>
</OSVirtualHardDisk>
<RoleSize>Small</RoleSize>
</Role>
</RoleList>
</Deployment>
但是,当我尝试通过SSH与Putty连接到VM时,当我尝试通过用户/密码进行身份验证时,它会显示以下消息(请注意,在XML正文中我指定了DisableSshPasswordAuthentication = false):“已断开连接:没有可用的支持身份验证方法(服务器已发送:publickey)“。
非常感谢整个stackoverflow社区的帮助。 阿贝尔。
答案 0 :(得分:0)
如果有人试图通过命令行连接到VM,并且在通过SSH成功连接之后根本没有通过:
转到VM菜单的“Support + Troubleshooting”部分中的“Reset password”,然后选择Mode“Reset public SSH key”和“Update”。这不会删除或更改初始部署期间提供的密钥,因此您可以像成功重置后一样进行连接。