【问题标题】:Compute Engine SSH: You do not have sufficient permissions to SSH into this instanceCompute Engine SSH:您没有足够的权限通过 SSH 访问此实例
【发布时间】:2018-10-15 11:59:16
【问题描述】:

我无法通过浏览器或 gcloud 使用 ssh 访问我的谷歌云计算引擎实例。我的用户帐户具有所需的compute.instances.osLogin 权限(实际上它具有Owner 角色)并且我已将enable-oslogin 设置为TRUE

浏览器报错:

You do not have sufficient permissions to SSH into this instance. You need one of compute.instances.setMetadata, compute.projects.setCommonInstanceMetadata or compute.instances.osLogin (with OsLogin enabled) and iam.serviceAccounts.actAs.

gcloud 中的错误:

ERROR: (gcloud.compute.ssh) User [my-email@gmail.com] does not have permission to access user [my-email@gmail.com:importSshPublicKey] (or it may not exist): The caller does not have permission

我什至对新创建的实例也有问题。

【问题讨论】:

标签: google-cloud-platform google-compute-engine gcloud


【解决方案1】:

显然将enable-oslogin 设置为TRUE 会阻止使用 ssh 密钥进行 SSH 登录,我们只能使用服务帐户访问实例。

我删除了 enable-oslogin 元项目范围和特定实例,并且在浏览器和终端中都修复了登录问题。

编辑:GCP 支持答案:

我很高兴您能够在禁用操作系统登录后通过 SSH 连接到您的实例。但是,您想知道可能导致此错误的原因。

从技术上讲,操作系统登录功能允许您使用 IAM 角色管理实例访问。但是,在实例上启用 OS Login 会禁用这些实例上基于元数据的 SSH 密钥配置。禁用 OS Login 会恢复您在项目或实例元数据中配置的 SSH 密钥。有关启用操作系统登录的更多详细信息,您可以链接下面。 https://cloud.google.com/compute/docs/instances/managing-instance-access#enable_oslogin

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 2016-06-05
    • 2012-07-29
    • 2015-07-18
    • 2014-03-28
    • 1970-01-01
    • 2016-02-21
    相关资源
    最近更新 更多