使用 terraform 生成 digitalocean droplet 时无法使用 ssh 密钥

阿里海德尔

我正在使用 terraform v0.10.6 在 digitalocean 上旋转一个水滴。我正在引用已在我的 terraform 配置中添加到 digitalocean 的密钥和 SSH 指纹(复制如下)。我可以使用这个 ssh 密钥登录到现有的 Droplet,但不能登录到新形成的 Droplet(SSH 只是失败了)。关于如何解决这个问题的任何想法,以便当我通过 terraform 启动 droplet 时,我应该能够通过已经添加到 digitalocean 的密钥登录到 droplet(并且在 DO 控制台上可见)。目前,Droplet 出现在 digitalocean 管理控制台上,但我永远无法通过 SSH 连接到服务器(连接被拒绝)。

测试文件

# add base droplet with name
resource "digitalocean_droplet" "do-mail" {
  image              = "ubuntu-16-04-x64"
  name               = "tmp.validdomain.com"
  region             = "nyc3"
  size               = "1gb"
  private_networking = true

  ssh_keys = [
    "${var.ssh_fingerprint}",
  ]

  connection {
    user        = "root"
    type        = "ssh"
    private_key = "${file(var.private_key)}"
    timeout     = "2m"
  }

  provisioner "remote-exec" {
    inline = [
      "export PATH=$PATH:/usr/bin",
      "sudo apt-get update",
    ]
  }
}

terraform.tfvars

digitalocean_token = "correcttoken"
public_key = "~/.ssh/id_rsa.pub"
private_key = "~/.ssh/id_rsa"
ssh_fingerprint = "correct:finger:print"

提供者.tf

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

变量.tf

##variables used by terraform

    # DO token
    variable "digitalocean_token" {
      type = "string"
    }

    # DO public key file location on local server
    variable "public_key" {
      type = "string"
    }

    # DO private key file location on local server
    variable "private_key" {
      type = "string"
    }

    # DO ssh key fingerprint
    variable "ssh_fingerprint" {
      type = "string"
    }
阿里海德尔

当我将 digitalocean 令牌指定为环境变量(而不是依赖于 terraform.tfvars 文件)时,我能够在初始化时使用 SSH 密钥设置一个新的 Droplet。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置现有的Digital Ocean Droplet以使用我的ssh密钥

来自分类Dev

ssh-keygen使用sshfp生成密钥

来自分类Dev

在Python中使用paramiko生成SSH密钥对

来自分类Dev

在Python中使用paramiko生成SSH密钥对

来自分类Dev

在Python中使用paramiko生成SSH密钥对

来自分类Dev

我无法使用自己生成的密钥对 ssh 到 GCE vm

来自分类Dev

无法完成生成ssh密钥

来自分类Dev

无法完成生成ssh密钥

来自分类Dev

Terraform-华为云栈提供商-无法使用SSH密钥登录

来自分类Dev

如何使用Mup在一个Digitalocean Droplet上使用SSL正确部署多流星实例?

来自分类Dev

如何使用 puttygen 为 git 生成 ssh 密钥

来自分类Dev

如何使用SSH2的ssh-keygen生成SSH1密钥

来自分类Dev

使用 PUTTY 生成密钥

来自分类Dev

无法在Windows 7上生成ssh密钥

来自分类Dev

生成SSH密钥时出现Git错误

来自分类Dev

如何使用terraform将SSH密钥添加到GCP实例?

来自分类Dev

无法远程连接到 digitalocean droplet - 不允许密码

来自分类Dev

Gitolite:无法使用新的ssh密钥登录?

来自分类Dev

SSH代理承认无法使用密钥签名

来自分类Dev

无法使用SSH-RSA密钥登录

来自分类Dev

使用github时如何管理ssh密钥

来自分类Dev

如何使用Open SSH密钥?

来自分类Dev

在`ssh`中使用.ppk密钥

来自分类Dev

使用 ssh 密钥对加密文件

来自分类Dev

为SSH生成密钥

来自分类Dev

Terraform Azure VM SSH密钥

来自分类Dev

使用SSH密钥验证SSH连接

来自分类Dev

生成批处理GPG密钥时无法使用“瞬态密钥”

来自分类Dev

使用NEAR Lib生成密钥对