google-cloud-platform - Compute Engine SSH:您没有足够的权限通过 SSH 访问此实例
问题描述
我无法通过浏览器或 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
我什至对新创建的实例也有问题。
解决方案
显然设置它可以防止使用 ssh 密钥enable-oslogin
进行TRUE
SSH 登录,我们只能使用服务帐户来访问实例。
我删除了enable-oslogin
元项目范围和特定实例,并且在浏览器和终端中都修复了登录。
编辑:GCP 支持答案:
我很高兴您能够在禁用操作系统登录后通过 SSH 连接到您的实例。但是,您想知道可能导致此错误的原因。
从技术上讲,操作系统登录功能允许您使用 IAM 角色管理实例访问。但是,在实例上启用 OS Login 会禁用这些实例上基于元数据的 SSH 密钥配置。禁用 OS Login 会恢复您在项目或实例元数据中配置的 SSH 密钥。有关启用操作系统登录的更多详细信息,您可以链接下面。 https://cloud.google.com/compute/docs/instances/managing-instance-access#enable_oslogin
推荐阅读
- flutter - 如何获取 Pageview 中的页数以用于 Flutter 中的行指示器?
- swift - 尝试将结构应用于可折叠tableview Swift的多维日期数组
- powerbi - power bi 中的 Sumproduct 公式
- html - Angular 自定义复杂路由器转换
- sql - SQL Server 性能不佳,使用 UPPER() 有很多 OR 和重复条件
- html - 是否可以通过输入一次 URL 来创建链接?
- sql - 在 SQL 中使用 HAVING 子句
- mysql - 在 Node.js MySQL 中等待查询
- flutter - 在flutter web中直接使用url参数导航到一个网页
- java - 运行时 Maven 上的 NoClassDefFoundError