Отказано в разрешении на вход в систему Google Cloud Compute Engine OS - PullRequest
0 голосов
/ 13 января 2020

При настройке входа в систему ОС на одном экземпляре GCE я получаю сообщение Permission denied для нового пользователя проекта.

В соответствии с документацией Google Cloud по входу в ОС, я установил метаданные на enable-oslogin TRUE и разрешение для пользователя в экземпляре на roles/compute.osLogin, поскольку в этом тестовом примере не требуется дополнительная учетная запись организации или службы. Правила брандмауэра тоже в порядке.

Я включил роль Project Editor, и она работает, но я не хочу, чтобы пользователь был Editor или Viewer, просто S SH в экземпляр и управляйте им с помощью Cloud IAM.

Это ошибка, которую я вижу:

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].

Ответы [ 3 ]

2 голосов
/ 17 января 2020

Добавление ниже ролей IAM решает ее, поэтому для нее также требуется роль SA, что не очень понятно из документации Google Cloud.

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.
0 голосов
/ 13 января 2020

Если пользователь для Gmail, Yahoo и т. Д. c, а не с синтаксисом организации, он считается внешним пользователем , поэтому необходимо установить права для ролей / compute.osLoginExternalUser в уровень организации для пользователя.

Должен работать, как только он установит роль для внешнего пользователя.

0 голосов
/ 13 января 2020

Вы можете назначить роли roles/compute.osLogin или roles/compute.osAdminLogin на уровне экземпляра, используя команду add-iam-policy-привязки бета-вычислений gcloud

. См. Документы Google * 1006. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...