Terraform支持SSH密码保护的密钥吗?

3

我正在尝试在这里使用这个配置:

connection {
    type = "ssh"
    user = "root"
    agent = true
    private_key = "${file("~/.ssh/id_rsa")}"
}

我遇到了一个错误:

password protected keys are not supported. Please decrypt the key prior to use.

我还尝试去掉private_key参数。它只需要从ssh-agent读取密钥,但是它不起作用。 Terraform版本为0.9.2

1个回答

0

好的,问题解决了。问题在于没有指定ssh_keys指纹,因此虚拟机被创建时没有分配任何ssh密钥。但是错误本身非常误导人。

所以只需添加以下内容:

resource "digitalocean_droplet" "mydroplet" {
   ssh_keys = [
      "<fingerprint can be found in digital ocean ssh keys tab>"
   ]
}

2
确实,不支持密码保护的密钥,因此删除 private_key 参数是解决方案的一部分,因为您(可能)想在此处使用安装在 SSH 代理中的密钥,您使用 agent = true 指定了该密钥。不幸的是,所有提供程序的 SSH 设置都相当复杂,因此有许多棘手的方式会出现问题,而 Terraform 很难为所有不同情况提供良好的错误消息。 :( - Martin Atkins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接