如何通过SSH进入新创建的Azure_VM?
我正在通过Terraform设置一个简单的VM,为它分配一个公共IP和一个本地拥有的SSH密钥。使用来自terraform页面本身的教程:https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine
resource "azurerm_linux_virtual_machine" "example" {
...
admin_username = "adminuser"
admin_ssh_key {
username = "adminuser"
public_key = file("~/.ssh/id_rsa.pub")
}
[...]
}但是,在Terraform创建了机器之后,我无法登录到机器中。
$ ssh adminuser@xxx.xxx.xxx.xxx产量:
adminuser@137.117.168.115: Permission denied (publickey).尝试了:首先我认为它是错误的公钥。因此,我检查了机器上的public_key:
az vm list --query "[].{SSH:
osProfile.linuxConfiguration.ssh.publicKeys[].keyData}" -o json并将其与本地机器上的公钥进行比较。它们是相同的,除了一个打印在Azure-VM输出中的"\n“。但是,向本地公钥添加一个新行并不能解决此问题。
The Catch:有时,在摧毁机器并使其重新膨胀之后,我可以登录。在添加了terraform destroy和terraform apply之后,它不再工作了。我不明白我做错了什么
那么,如何进入我新创建的VM中的SSH呢?
发布于 2021-09-21 15:00:20
结果,我确实用一个adminuser配置覆盖了默认值( cloud_init )。在将默认用户添加到cloud_config之后,我可以通过SSH连接到adminuser@xxx.xxx
data "template_cloudinit_config" "config" {
gzip = true
base64_encode = true
part {
content_type = "text/cloud-config"
content = "users: [default, foobar, barfoo]"
}
} https://stackoverflow.com/questions/69235153
复制相似问题