我已通过terraform创建了虚拟机,但无法从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,管理员用户,但不能访问它。
在/home/user/.ssh中的Azure上,我得到了一个公钥和一个私钥。
发布于 2019-09-10 10:53:22
对于你的问题,我认为有两个可能的原因,也许你所做的解决了问题,但这应该是最后的方法。
以下是可能的原因和解决方案:
解决方案:您需要将terraform文件中的SSH密钥复制到主机中的~/.ssh/id_rsa.pub文件中(因为您是云外壳)。
解决方案:您需要创建一个新的SSH密钥,然后使用新密钥重置VM SSH公钥。
发布于 2019-09-09 17:50:29
Azure具有更改ssh密钥或密码的选项:

我使用了它,并使用以下命令传递了在https://shell.azure.com/上生成的密钥:
ssh-keygen -t rsa -b 2048然后命令:
ssh azureuser@40.IP.IP.IP 工作得很好。
公钥/home/user/.ssh/id_rsa.pub必须与VM中的相同。
发布于 2020-08-12 15:20:08
请尝试使用下面的命令,该命令显式指定要使用的密钥。link
ssh -i ~/.ssh/id_rsa azureuser@yourpublicip https://stackoverflow.com/questions/57851145
复制相似问题