Используйте статические/известные ключи SSH на GCE

Используйте статические/известные ключи SSH на GCE

Мы часто удаляем и воссоздаем машины на Google Compute Engine, чтобы разбить и остановить тестовые среды, выполнить тесты на отказоустойчивость и т. д.

Проблема в том, что GCE всегда заново создает ключи SSH-сервера на каждом новом экземпляре, созданном из образа или снимка.

Какой простой способ получить статические ключи SSH или ключи SSH, которые будут легко приниматься на всех машинах при выполнении операций scp или ssh?

решение1

Если вы используете свои машины только для тестирования ( sshконечно, для тестирования чего-то еще, кроме себя) и безопасность не вызывает проблем (закрытая среда), вы можете сделать частью своего установочного скрипта/кикстарта/первой загрузки извлечение ключей откуда-то и не генерировать свои собственные (способы, которые запускают генерацию ключей, различаются в разных дистрибутивах, но вы узнаете — RHEL создает их, только если они отсутствуют при первом запуске службы).

решение2

Если у вас уже есть файл закрытого ключа google_compute_engineв вашем /home/<username>/.ssh/каталоге, то использование gcloud compute ssh <target instance>команды не должно генерировать новый ключ. Однако, если вы будете использовать другое имя пользователя или попытаетесь подключиться по SSH с недавно созданного экземпляра виртуальной машины, команда gcloud compute sshсгенерирует новый закрытый/открытый ключ для соответствия требованиям безопасности.

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

Если речь идет о ключе хоста SSH, то вы можете использовать -o StrictHostKeyChecking=noопцию в вашей команде ssh (OpenSSH), чтобы обойти проверку подлинности ключа хоста.

Связанный контент