Автоматическое создание SSH-KEYGEN и его копирование из экземпляра gcp в другой?

Как создать автоматический запуск SSH-KEYGEN? Нам нужно автоматически сгенерировать ключ и скопировать из одного экземпляра gcp в другой.

Для этого нам нужно использовать ssh внутри этого экземпляра, внести изменения в файл sshd_config и изменить параметр «permissionrootlogin = yes и passwordauthentication = yes».

Как мы можем сделать это автоматически при создании экземпляра GCP?


person megha    schedule 16.03.2020    source источник
comment
Не могли бы вы подробнее объяснить, чего именно вы хотите достичь? Как вы ожидаете, что это будет работать?   -  person Wojtek_B    schedule 17.03.2020
comment
Я использую GCP Instance и Jenkins для автоматизации создания GCP Instance, для этого я использую диспетчер развертывания Google, который создаст экземпляр, я написал jenkinsfile, поэтому, когда запускается конвейер Jenkins, он генерирует экземпляр GDM и нажимает docker в реестре контейнеров Google, но я застрял в ssh с моей ведомой машины Jenkins на только что созданный vm.   -  person megha    schedule 20.03.2020
comment
Помогает ли вам мой ответ ниже или вам нужна дополнительная информация?   -  person Wojtek_B    schedule 20.03.2020


Ответы (1)


Для создания ключей SSH можно использовать сценарии запуска.

Если вы хотите упростить вещи, вы можете создать такой скрипт:

#! /bin/bash
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q -N ""

Загрузите свой скрипт в корзину (создайте новый или используйте существующий) и измените права доступа к файлу таким образом, чтобы он был доступен для чтения всем; нажмите «редактировать разрешения» и «добавить новый элемент» и заполните остальные, как показано ниже;

Разрешения файла

Затем вы можете создать экземпляр виртуальной машины со своим сценарием запуска:

gcloud compute instances create test-instance1 --scopes storage-ro --metadata startup-script-url=https://storage.cloud.google.com/cfb1/my.script

Таким же образом вы можете запускать команды, копирующие ваши вновь созданные ключи ssh на другие машины GCP.

Но - если все экземпляры ВМ находятся в одном VPC и в одном регионе (должны применяться оба условия), вы можете входить в систему с одного на другой, не создавая никаких дополнительных ключей SSH и не выполняя каких-либо действий. Compute Engine позаботится обо всем, и вы можете просто подключиться к одному из них по ssh и ввести: ssh my-vm2 - и вы в деле.

Если вы не имеете в виду что-то еще (например, виртуальные машины в разных VPC)

person Wojtek_B    schedule 18.03.2020