Назад | Перейти на главную страницу

В экземплярах облачных виртуальных машин, как обрабатывать ключи хоста ssh?

В одноразовых виртуальных машинах, подобных тем, которые сегодня обычно используются компаниями в GCP или AWS, каждый раз, когда экземпляр загружается в первый раз, он будет создавать новый набор ключей хоста ssh. Это означает, что если экземпляр был воссоздан с момента последнего подключения к нему (через интерактивный сеанс или, что еще хуже, в CI для развертывания последнего кода), ssh-клиент выйдет из строя из-за изменения ключа хоста. Общее решение (по крайней мере, с недоступным) всегда "отключить проверку хоста" но мне это кажется плохой идеей. Вы отключаете важную часть своих проверок безопасности.

  1. Как проще всего установить ключи хоста в GCE? что-то вроде cloud-init?
  2. Можно ли повторно использовать один и тот же ключ хоста для все ваши экземпляры ВМ или лучше повторно использовать ключи только для экземпляров с тем же именем? например db-1 всегда будет иметь один и тот же ключ хоста, независимо от того, сколько раз он будет воссоздан, но db-2 будет другой, чем db-1

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