使用SSH私钥的连接问题

时间:2019-04-18 12:23:00

标签: ssh terraform

我对地形非常陌生,正在尝试探索。我正在使用digitalocean作为资源。我能够创建Droplet,现在想为其提供一些软件。但无法与其建立联系。

我在笔记本电脑上使用虚拟机,因此想使用我的私人SSH密钥访问Droplet。所以我将SSH密钥复制到terraform机器上的文件中并给出其路径。下面是我的配置:

provider "digitalocean" {
  token = "${var.do_token}"
}

resource "digitalocean_droplet" "web" {
  name = "web"
  size = "${var.size}"
  image = "${var.image}"
  region = "${var.region}"
  ssh_keys = [23625200]
  private_networking = "true"
}
connection {
  user = "root"
  type = "ssh"
  private_key = "${file("/root/id_rsa")}"
  timeout = "2m"
 }

我的笔记本电脑私钥可在/root/id_rsa文件中的Terraform机器上使用。

在尝试验证或计划时,我遇到了以下错误:

Error: Unknown root level key: connection

您能帮我在这里做什么错吗?

谢谢。

1 个答案:

答案 0 :(得分:-1)

您的connection block should be part of a provisioner,又是资源的一部分(如果没有其他资源有意义,则可能是null_resource resource)。

因此,在您的情况下,您应该具有以下内容:

htmltools