首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Cloud Compute Engine操作系统登录权限被拒绝问题

Google Cloud Compute Engine操作系统登录权限被拒绝问题
EN

Stack Overflow用户
提问于 2020-01-13 22:37:51
回答 3查看 1.6K关注 0票数 1

当在一个GCE实例上设置OS登录时,我收到了一个项目新用户的Permission denied消息。

根据Google Cloud文档中的OS Login,我已经将元数据设置为enable-oslogin TRUE,并将实例中用户的权限设置为roles/compute.osLogin,因为在此测试用例中不需要进一步的组织或服务帐户。防火墙规则也是可以的。

我已经启用了角色Project Editor,并且它可以工作,但我不希望用户是EditorViewer,只希望通过SSH进入实例并使用Cloud IAM管理它。

这是我看到的错误:

代码语言:javascript
复制
DEBUG: Executing command: [u'/usr/bin/ssh', u'-t', u'-i', u'/home/test/.ssh/google_compute_engine', u'-o', u'CheckHostIP=no', u'-o', u'HostKeyAlias=compute.xxxxx', u'-o', u'IdentitiesOnly=yes', u'-o', u'StrictHostKeyChecking=no', u'-o', u'UserKnownHostsFile=/home/test/.ssh/google_compute_known_hosts', u'test_com@xx.xx.xx.xx']
Permission denied (publickey).
DEBUG: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Traceback (most recent call last):
  File "/google/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 981, in Execute
    resources = calliope_command.Run(cli=self, args=args)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 807, in Run
    resources = command_instance.Run(args)
  File "/google/google-cloud-sdk/lib/surface/compute/ssh.py", line 262, in Run
    return_code = cmd.Run(ssh_helper.env, force_connect=True)
  File "/google/google-cloud-sdk/lib/googlecloudsdk/command_lib/util/ssh/ssh.py", line 1258, in Run
    raise CommandError(args[0], return_code=status)
CommandError: [/usr/bin/ssh] exited with return code [255].
ERROR: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].
EN

回答 3

Stack Overflow用户

发布于 2020-01-17 20:08:40

添加下面的IAM角色可以解决这个问题,所以它也需要SA角色,这在Google Cloud文档中并不是很清楚。

代码语言:javascript
复制
Compute OS Login
Role
Access to log in to a Compute Engine instance as a standard (non-administrator) user.

Service Account User
Role
Run operations as the service account.
票数 3
EN

Stack Overflow用户

发布于 2020-01-13 22:46:31

您可以使用gcloud beta计算实例add-iam- roles/compute.osAdminLogin - roles/compute.osLogin命令在实例级别授予策略或绑定角色

请参考Google Docs

票数 0
EN

Stack Overflow用户

发布于 2020-01-14 00:11:36

如果用户是Gmail、Yahoo等,不符合组织语法,则会被认为是external user,因此需要将组织级的角色/Compute.osLoginExternalUser权限设置为该用户。

一旦它设置了外部用户的角色,它就应该可以工作。

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

https://stackoverflow.com/questions/59718724

复制
相关文章

相似问题

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