[英]unable to connect with ssh key in terraform aws ec2
我创建了 ssh_key
ssh-keygen -t rsa -b 4096 -C "example@example.com" -f terraform_ec2_key
并将那个terraform_ec2_key
放入我的 terraform 文件中,它看起来像这样
provider "aws" {
region = "us-west-2"
}
resource "aws_key_pair" "terraform_ec2_key" {
key_name = "terraform_ec2_key"
public_key = "${file("terraform_ec2_key.pub")}"
}
resource "aws_instance" "myfirst" {
ami = "ami-830c94e3"
instance_type = "t2.micro"
key_name = aws_key_pair.terraform_ec2_key.key_name
tags = {
name = "terraformec2"
}
}
当我terraform apply
命令时,它已成功应用并创建了实例,但是当我使用 aws 提供的连接命令连接到实例时
ssh -i terraform_ec2_key ubuntu@ec2-xx-xxx-x-xxx.us-west-2.compute.amazonaws.com
我收到ubuntu@ec2-54-202-8-184.us-west-2.compute.amazonaws.com: Permission denied (publickey).
在这里我尝试了chmod 400 terraform_ec2_key
但没有工作也从入站规则打开端口22
但我仍然遇到同样的错误我是否遗漏了什么?
根据评论。
该代码本身非常好。 该问题是由错误ami-id
引起的。 代替ubuntu
AMI,使用了其他的,例如amazon linux 2
。 这将导致Permission denied (publickey)
,因为amazon linux 2
使用ec2-user
用户,而不是 `ubuntu。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.