Назад | Перейти на главную страницу

Ключи SSH для всего проекта GCP не распространяются

В своем кластере GCE я заметил, что когда я добавляю SSH-ключ в метаданные проекта, он автоматически добавляется в /home/[user visible/.ssh/authorized_keys. Это то поведение, которого я ожидаю (и желание выполнить задачу, которую я выполняю в данный момент). Однако на одной из моих машин в кластере файл authorized_keys вообще не обновляется, независимо от того, удаляю ли я или добавляю ключи в метаданные проекта. Я даже попытался полностью удалить файл authorized_keys, чтобы увидеть, будет ли он воссоздан (это не так).

На всех серверах установлена ​​последняя версия Ubuntu 14.04, и, насколько я могу судить, проблема возникает только в одном экземпляре. Это самый старый экземпляр в кластере, поэтому при чтении https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#addkey Мне было интересно, подпадало ли это под действие следующего утверждения:

Если ваш экземпляр не поддерживает новые значения метаданных, добавьте или удалите старое значение sshKeys только для экземпляра, которое применяет ваш ключ только к определенному экземпляру, а также блокирует все ключи проекта, когда это значение установлено.

Но я удалил только экземпляр sshKeys, и проблема не устранена. Есть какие-нибудь идеи, прежде чем я уничтожу и воссоздаю изображение, чтобы убедиться, что я могу использовать «новые» метаданные?

Во-первых, убедитесь, что ваш экземпляр виртуальной машины может обмениваться данными с сервером метаданных и читать файл в масштабе всего проекта. sshKeys стоимость. Чтобы проверить это, подключитесь к своей виртуальной машине и выполните следующую команду:

curl http://metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys -H "Metadata-Flavor: Google"

Результатом команды должны быть ключи SSH, которые вы добавили в метаданные вашего проекта. Если команда не может взаимодействовать с метаданными, это означает, что ваш внутренний брандмауэр блокирует трафик между вашей виртуальной машиной и сервером метаданных.

Если связь прошла успешно и вы можете прочитать значение sshKeys, тогда вы должны убедиться, что демон менеджера учетных записей запущен. В Ubuntu 14.04 сценарий демона находится по адресу:

/usr/share/google/google_daemon/manage_accounts.py

Используйте следующую команду, чтобы проверить его рабочий статус:

sudo ps aux | grep manage_accounts.py