我尝试使用Terraform创建一个安装了consul的DigitalOcean节点。
我正在使用以下foo()
文件,但它会挂断,并且不会将consul .zip文件复制到Droplet上。
几分钟后我收到以下错误消息:
ssh:握手失败:ssh:无法验证,尝试过的方法 [none publickey],不支持任何方法
虽然可以正确创建水滴。我可以使用我指定的密钥登录命令行(因此不指定密码)。我猜测连接部分可能有问题,但不确定我错过了什么。
有什么想法吗?
.tf
答案 0 :(得分:1)
Terraform要求您specify the private SSH key用于与private_key
的连接您可以创建一个新变量,其中包含私钥的路径,以便与Terraform的文件插值功能一起使用:
connection {
type = "ssh"
user = "root"
agent = true
private_key = "${file("${var.private_key_path}")}"
}
答案 1 :(得分:1)
您遇到此问题,因为您拥有受密码保护的ssh密钥。要解决此问题,您应该生成一个没有密码的密钥。