В своем кластере 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