首页 > 解决方案 > Azure 无法访问 VM

问题描述

我已经通过 terraform 创建了一个 VM,但我无法从https://shell.azure.com/访问它

当我输入:

ssh azureuser@40.IP.IP.IP

我得到:

Permission denied (publickey).

从 terraform 脚本中,我知道这个 VM 是使用以下命令创建的:

os_profile {
    computer_name  = "myvm"
    admin_username = "azureuser"
}

os_profile_linux_config {
    disable_password_authentication = true
    ssh_keys {
        path     = "/home/azureuser/.ssh/authorized_keys"
        key_data = "ssh-rsa AAAAB3Nz(...)"
    }
}
output "public_ip_address" {
    value = azurerm_public_ip.myterraformpublicip.ip_address
}

如何访问我的虚拟机?我知道它的 IP,管理员用户,但无法访问它。

在 Azure 中,/home/user/.ssh我得到了一个公钥和一个私钥。

标签: azurevirtual-machine

解决方案


对于您的问题,我认为可能有两个原因,也许您所做的解决了问题,但应该是最后一种方法。

以下是可能的原因和解决方案:

  1. SSH 密钥与您用于在要从其 ssh 到 VM 的主机中创建 VM 的密钥不同(因为您是云外壳)。

解决方案:您需要将 SSH 密钥从 terraform 文件复制到~/.ssh/id_rsa.pub主机中的文件中(对您来说是云 shell)。

  1. SSH 密钥的格式不正确,这意味着它是错误的密钥。

解决方案:您需要创建一个新的 SSH 密钥,然后像您一样使用新密钥重置 VM SSH 公钥。


推荐阅读