首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform/GCP: ssh-没有添加到元数据中的键

Terraform/GCP: ssh-没有添加到元数据中的键
EN

Stack Overflow用户
提问于 2019-05-24 13:55:32
回答 1查看 2.2K关注 0票数 1

我正在尝试用terraform在项目级别将ssh键添加到我的Google项目中:

代码语言:javascript
复制
resource "google_compute_project_metadata_item" "oslogin" {
  project = "${google_project_services.myproject.project}"
  key     = "enable-oslogin"
  value   = "false"
}

resource "google_compute_project_metadata_item" "block-project-ssh-keys" {
  project = "${google_project_services.myproject.project}"
  key     = "block-project-ssh-keys"
  value   = "false"
}

resource "google_compute_project_metadata_item" "ssh-keys" {
  key   = "ssh-keys"
  value = "user:ssh-rsa myverylongpublickeythatireplacewithtexthereforobviousreasons user@computer.local"

  depends_on = [
    "google_project_services.myproject",
  ]
}

我尝试了所有类型的组合2元数据标志oslogin和块项目-ssh-键,这总是没有问题的设置。但是ssh键从未出现在GCPs中,更不用说authorized_keys文件了。我甚至尝试添加depends_on,以确保在添加键之前项目是存在的,但这也没有帮助。

然而,Terraform说:

代码语言:javascript
复制
google_compute_project_metadata_item.ssh-keys: Creation complete after 8s (ID: ssh-keys)

在web上手动添加完全相同的键可以很好地工作。在这一点上,我相信我已经尝试了一切,阅读所有的第一页谷歌的结果到'terraform gcp添加ssh键‘和类似的查询.我快疯了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-27 11:29:43

问题是ssh键被添加到另一个项目中。我从谷歌的GCP/Terraform教程开始。这首先使用gcloud工具创建了一个通用项目。然后继续使用该通用项目创建帐户。这是必要的,因为您需要一个用户根据他们的API运行terraform。然后,他们创建一个新的项目,以方便这些用户与地形,每次你申请。使用gcloud创建的通用项目在初始创建后不会被触及。如果您省略了google_compute_ project _metadata_ITEME.ssh-键资源中的"project“参数,它将使用泛型项目并在其中添加ssh键--至少在我的示例中是这样。

解决方案:显式地将项目参数添加到元数据资源项中,以确保将其添加到正确的项目中

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56294127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档