首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure无法访问虚拟机

Azure无法访问虚拟机
EN

Stack Overflow用户
提问于 2019-09-09 17:21:44
回答 3查看 766关注 0票数 0

我已通过terraform创建了虚拟机,但无法从https://shell.azure.com/访问它

当我键入时:

代码语言:javascript
复制
ssh azureuser@40.IP.IP.IP

我得到了:

代码语言:javascript
复制
Permission denied (publickey).

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

代码语言:javascript
复制
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,管理员用户,但不能访问它。

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

EN

回答 3

Stack Overflow用户

发布于 2019-09-10 10:53:22

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

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

  1. SSH密钥与您用来在主机中创建VM的密钥不同,您希望从该主机ssh到VM (对于您来说是云shell)。

解决方案:您需要将terraform文件中的SSH密钥复制到主机中的~/.ssh/id_rsa.pub文件中(因为您是云外壳)。

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

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

票数 1
EN

Stack Overflow用户

发布于 2019-09-09 17:50:29

Azure具有更改ssh密钥或密码的选项:

我使用了它,并使用以下命令传递了在https://shell.azure.com/上生成的密钥:

代码语言:javascript
复制
ssh-keygen -t rsa -b 2048

然后命令:

代码语言:javascript
复制
ssh azureuser@40.IP.IP.IP 

工作得很好。

公钥/home/user/.ssh/id_rsa.pub必须与VM中的相同。

票数 0
EN

Stack Overflow用户

发布于 2020-08-12 15:20:08

请尝试使用下面的命令,该命令显式指定要使用的密钥。link

代码语言:javascript
复制
ssh -i ~/.ssh/id_rsa azureuser@yourpublicip 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57851145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档