我创建了一个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脚本中指定任何配置?