【问题标题】:Terraform provisioner - Failed to read ssh private key: no key foundTerraform 配置程序 - 无法读取 ssh 私钥:找不到密钥
【发布时间】:2020-11-15 15:35:11
【问题描述】:

我无法解决文件功能的问题。文件内容正确,路径也正确。但我收到以下错误。

Error: Failed to read ssh private key: no key found

这里有什么问题吗?为什么要举报no key found?

代码如下:

resource "aws_instance" "web_south" {
  for_each = {
    prod = "t2.micro"
    dev = "t2.micro"
  }

  ami = "ami-0db0b3ab7df22e366"
  instance_type = each.value
  key_name = "linux-ssh"

  connection {
    type = "ssh"
    host = self.public_ip
    user = "ubuntu"
    private_key = file("/home/vagrant/terraform-test/00_test2/linux-ssh")
  }

  provisioner "local-exec" {
    command = "echo ${self.public_ip} > public-ip.txt "
  }

  provisioner "file" {
    #content = "foobar"
    source = "public-ip.txt"
    destination = "/tmp/test.txt"
  }


  tags = {
    Name = "web-${each.key}_${local.setup_name}"
  }
}

【问题讨论】:

    标签: terraform


    【解决方案1】:

    想通了。我已经下载了 PPK 格式的密钥对(用于腻子),这就是问题所在。

    我创建了一个新的密钥对并将其下载为 PEM 格式(用于 openssh),然后它就可以工作了。

    如果文件不存在,则会抛出以下错误:

    Call to function "file" failed: no file exists at.

    但是错误Failed to read ssh private key: no key found表示密钥文件内容不正确。

    【讨论】:

      猜你喜欢
      • 2020-03-29
      • 2020-12-27
      • 2021-10-31
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      相关资源
      最近更新 更多