Мы часто отключаем и воссоздаем машины в Google Compute Engine, чтобы разорвать и отключить тестовые среды, выполнить тесты переключения при отказе и т. Д.
Проблема в том, что GCE всегда повторно создает ключи сервера SSH для каждого нового экземпляра, созданного из образа или моментального снимка.
Каков простой способ иметь статические ключи SSH или ключи SSH, которые легко принимаются на разных машинах при выполнении операций scp или ssh?
Если у вас уже есть закрытый ключ google_compute_engine
файл в вашем /home/<username>/.ssh/
каталог, затем используя gcloud compute ssh <target instance>
команда не должна генерировать новый ключ. Однако, если вы будете использовать другое имя пользователя или будете пытаться подключиться к SSH с вновь созданного экземпляра виртуальной машины, gcloud compute ssh
команда сгенерирует новый закрытый / открытый ключ в соответствии с требованиями безопасности.
Вы можете скопировать закрытый ключ на конкретный или локальный компьютер и всегда использовать SSH оттуда. Это исключит создание новых ключей.
Если речь идет о SSH Host Key, вы можете использовать -o StrictHostKeyChecking=no
с вашей командой ssh (OpenSSH), чтобы обойти проверку подлинности ключа хоста.
Если вы используете свои машины только для тестирования (тестируйте что-то elste, тогда ssh
сам по себе, конечно), и безопасность не является проблемой (закрытая среда), вы можете сделать ее частью своего установочного скрипта / кикстарта / первой загрузки, чтобы извлекать ключи откуда-то, а не генерировать свои собственные (способ, который запускает генерацию ключей, различается между дистрибутивами , но вы узнаете - RHEL создает их только в том случае, если они отсутствуют при первом запуске службы).