我正在将 Terraform v0.12.24与provider.azurerm v2.2.0一起使用 当我尝试创建Scaleset VM时,出现以下错误:
错误:compute.VirtualMachineScaleSetsClient#CreateOrUpdate:失败 发送请求:StatusCode = 400-原始错误: Code =“ InvalidParameter” 消息=“参数的值 linuxConfiguration.ssh.publicKeys.path无效。” Target =“ linuxConfiguration.ssh.publicKeys.path”
在资源的scaleset.tf第1行“ azurerm_virtual_machine_scale_set”“演示”:1:资源 “ azurerm_virtual_machine_scale_set”“演示” {
我正在使用Windows 10进行Terraform配置。我的os_profile_linux_config如下:
storage_profile_image_reference {
publisher = "Canonical"
offer = "UbuntuServer"
sku = "18.04-LTS"
version = "latest"
}
os_profile_linux_config {
disable_password_authentication = true
ssh_keys {
key_data = file("C:/Users/jack/Documents/key/id_rsa.pub")
path = "C:/Users/jack/Documents/key"
}
}
首先,我尝试了两个不同的密钥对。一个是由puttygen创建的,另一个是由ssh-keygen与git bash创建的。我和他们两个都有相同的错误。 你有什么主意吗?
答案 0 :(得分:1)
对于您的问题,我认为您误解了ssh_key的属性path
,它显示在这里:
ssh_keys-(可选)指定要收集的路径和key_data的集合 放置在虚拟机上。
这是您要创建的VM内部的路径,而不是您执行Terraform的机器的路径。还有:
注意:请注意,唯一允许的路径是 /home//.ssh/authorized_keys由于Azure的限制。