我创建了一个Terraform配置来启动EC2实例。我的配置是
resource "aws_volume_attachment" "ebs_att" {
device_name = "/dev/sdh"
volume_id = "${aws_ebs_volume.newVolume.id}"
instance_id = "${aws_instance.web.id}"
}
resource "aws_instance" "web" {
ami = "ami-2757f631"
instance_type = "t2.micro"
availability_zone = "us-east-1a"
vpc_security_group_ids=["${aws_security_group.instance.id}"]
key_name="KeyPairVirginia"
tags {
Name = "HelloWorld"
}
}
resource "aws_ebs_volume" "newVolume" {
availability_zone = "us-east-1a"
size = 4
encrypted=true
type="standard"
kms_key_id="arn:aws:kms:us-east-1:257844712457:key/${data.aws_kms_key.ebskey.id}"
tags {
Name = "HelloWorld"
}
}
它为EC2实例提供了一个根卷和一个额外的EBS卷。我已经下载了指定的密钥对,并执行了chmod 400权限任务。现在,当我尝试通过SSH进入实例时,它给了我Permission Denied(Public Key)Error。
为什么?我是否想在terraform脚本中指定任何配置?
这对我来说不可行...我无法通过terraform代码创建的aws机器。我不知道现在可能是什么问题。尝试了不同的用户,ubuntu和ec2-user仍然失败。尝试从本地计算机导入的ssh密钥,还尝试在aws中创建,然后转换为pub仍然无法ssh。权限被拒绝(公钥)错误出现。