我无法通过浏览器或 gcloud 使用 ssh 访问我的 google 云计算引擎实例。我的用户帐户有所需的compute.instances.osLogin
许可(事实上它有Owner
角色)并且我已经设置了enable-oslogin
to 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 [[email protected] /cdn-cgi/l/email-protection] does not have permission to access user [[email protected] /cdn-cgi/l/email-protection:importSshPublicKey] (or it may not exist): The caller does not have permission
我什至也遇到了新创建的实例的问题。
显然设置enable-oslogin
to TRUE
它阻止使用 ssh 密钥进行 SSH 登录,并且我们只能使用服务帐户来访问实例。
我删除了enable-oslogin
元项目范围和特定于实例的两者,并且登录在浏览器和终端中均已修复。
编辑:GCP 支持答案:
我很高兴您能够在禁用操作系统登录后通过 SSH 连接到您的实例。但是,您想知道是什么导致了此错误。
从技术上讲,操作系统登录功能允许您使用 IAM 角色管理实例访问。但是,在实例上启用操作系统登录会禁用这些实例上基于元数据的 SSH 密钥配置。禁用操作系统登录会恢复您在项目或实例元数据中配置的 SSH 密钥。有关启用操作系统登录的更多详细信息,您可以点击下面的链接。https://cloud.google.com/compute/docs/instances/managing-instance-access#enable_oslogin https://cloud.google.com/compute/docs/instances/managing-instance-access#enable_oslogin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)