Добавление ssh-ключей в метаданные gcp - PullRequest
0 голосов
/ 26 июня 2018

Я новичок в Google Cloud и сталкиваюсь с проблемой при добавлении ssh-ключей в метаданные Google (для всего проекта) с помощью командной строки gcloud.

Когда я пытаюсь добавить ssh-ключ в метаданные Google (с помощью команды :: gcloud compute project-info add-metadata --metadata-from-file ssh-keys=[LIST_PATH]) вместе с новым ssh-ключом, который я пытаюсь добавить, я также должен указать все существующие ssh-ключи в источнике файл. (исходный файл - это файл, в котором мы храним значение ssh-ключа). потому что я добавлю все ssh-ключи, которые присутствуют в исходном файле, поэтому, если я не сохраню существующие ssh-ключи в исходном файле и сохраню только один ключ, он добавит только один единственный ключ в метаданные, а остальные существующие ключи будут быть удаленным.

Итак, я пытаюсь добиться добавления любого ssh-ключа к метаданным, не затрагивая существующие ключи. Потому что это будет повторяющийся процесс для многих машин в моей среде, и я не могу каждый раз отслеживать существующие ключи.

1 Ответ

0 голосов
/ 01 августа 2018

У меня был тот же вопрос.

Согласно официальному документу (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys),) невозможно манипулировать отдельными ключами из инструмента gcloud.

Вот пример оболочки для добавления ключа:

gcloud compute project-info add-metadata \
  --metadata-from-file ssh-keys=<(\
    gcloud compute project-info describe --format json \
      | jq -r '.commonInstanceMetadata.items[]
               | if .key == "ssh-keys" then .value else empty end';
    echo "john:ssh-rsa mykey john")

Она:

  • захватывает существующие значения (gcloud description | jq).
  • добавляет ключ (эхо "Джон ...").
  • передает его как псевдофайл в gcloud add-metadata.

Вы можете разделить шаги, вести локальный список ваших ключей или того, что вам подходит.

В этом примере отсутствуют некоторые функции, такие как дедупликация ключей. Сейчас это всего лишь эксперимент, мне нужно будет создать более надежный скрипт для реального использования.

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