微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法在 terraform 中通过 ssh 连接到新创建的 ec2 实例

如何解决我无法在 terraform 中通过 ssh 连接到新创建的 ec2 实例

我无法使用 terraform SSH 到我新创建的 ec2 实例

继续获取权限被拒绝(公钥)

我使用 ssh-keygen -t rsa 命令生成了密钥

请帮我解决这个错误

ssh -i ~/.ssh/ubuntu/mykey ubuntu@44.228.131.143

Root/main.tf ,这里我定义了它然后传递了变量.tf

module "compute" {
  source          = "./compute"
  instance_count  = 1
  instance_type   = "t3.micro"
  public_sg       = module.networking.public_sg
  public_subnets  = module.networking.public_subnets
  vol_size        = 10
  public_key_path = "/home/ubuntu/.ssh/mykey.pub"
  key_name        = "mykey"
  user_data_path = "${path.root}/userdata.tpl"
  db_endpoint     = module.database.db_endpoint
  dbuser          = var.dbuser
  dbpassword          = var.dbpassword
  dbname          = var.dbname

}

计算 main.tf ,参考我的实例

resource "aws_key_pair" "my_key" {
  key_name   = var.key_name
  public_key = file(var.public_key_path)
}

resource "aws_instance" "my_instance" {
  count         = var.instance_count
  instance_type = var.instance_type
  ami           = data.aws_ami.server_ami.id

  tags = {
    Name = "my-node ${random_id.random[count.index].dec}"
  }

  key_name               = aws_key_pair.my_key.id
  vpc_security_group_ids = [var.public_sg]
  subnet_id              = var.public_subnets[count.index]
  user_data = templatefile(var.user_data_path,{
      nodename    = "my-node ${random_id.random[count.index].dec}"
      db_endpoint = var.db_endpoint
      dbuser      = var.dbuser
      dbpass      = var.dbpassword
      dbname      = var.dbname
    }
  )

  root_block_device {
    volume_size = var.vol_size
  }
}

通过root/main.tf 的Variable.tf

variable "instance_count" {}
variable "instance_type" {}
variable "vol_size" {}
variable "public_sg" {}
variable "public_subnets" {}
variable "public_key_path" {}
variable "key_name" {}
variable "db_endpoint" {}
variable "dbname" {}
variable "dbpassword" {}
variable "dbuser" {}
variable "user_data_path" {}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。