繁体   English   中英

无法连接 ssh 密钥 terraform aws ec2

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM