Terraform模板中ssh_keys>key_data参数应填入什么内容?
Azure Terraform VM: 正确填写
ssh_keys的key_data参数 嘿,这个问题我之前踩过坑,给你说清楚怎么填就对了!
key_data需要的是你SSH公钥文件里的完整文本内容——没错,就是你本地~/.ssh/id_rsa.pub(或者你生成的其他公钥文件)里的那一行全部内容,一个字符都不能少。
举个实际的例子,你的公钥内容大概长这样:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk1Xt5Z...省略中间一大串字符...w8tV user@your-machine
你就把这一整行直接复制粘贴到key_data的引号里就行。
这里有几个关键细节要注意:
- 必须包含开头的密钥类型前缀(比如
ssh-rsa、ecdsa-sha2-nistp256这类),只复制中间的密钥字符串是不行的,Azure会识别失败 - 不要加多余的换行或者空格,复制的时候确保是完整的一行
- 如果还没生成SSH密钥对,用
ssh-keygen -t rsa -b 4096命令生成就行,生成后去对应的.pub文件里拿内容
给你贴个完整的Terraform代码片段参考:
resource "azurerm_linux_virtual_machine" "my_vm" { name = "my-linux-vm" resource_group_name = azurerm_resource_group.my_rg.name location = azurerm_resource_group.my_rg.location size = "Standard_D2s_v3" admin_username = "azureadmin" ssh_keys { key_data = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk1Xt5Z...你的完整公钥内容...w8tV user@my-laptop" path = "/home/azureadmin/.ssh/authorized_keys" } # 其他必要配置比如网络、存储等... }
内容的提问来源于stack exchange,提问作者phydeauxman
相关产品推荐
相关产品推荐

