计算引擎SSH:您没有足够的权限SSH到此实例

时间:2018-05-04 23:49:37

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

我无法通过浏览器或gcloud使用ssh访问我的Google云计算引擎实例。我的用户帐户具有所需的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

我甚至也遇到了新创建的实例的问题。

1 个答案:

答案 0 :(得分:2)

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

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

编辑:GCP支持回答:

  

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

     

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