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

Как настроить ssh-доступ для автоматического ISO-образа linux-distro для локальной среды разработки, аналогичной доступу к экземплярам виртуальных машин облачной службы?

Я настроил Упаковщик для создания автоматической установки ISO различных производных от Debian дистрибутивов в VMware fusion. Когда я вручную настраиваю виртуальные машины для доступа по ssh, время ожидания истекает, и созданные артефакты сборки стираются.

Как вы подойдете к предварительной установке доступа по ssh как части установочного образа ОС, подобно тому, как это делается для экземпляров виртуальных машин облачной службы? Я собираюсь попытаться настроить его с помощью кикстарта или команды Debian preseed late-command в обновленный образ ISO, чтобы решить мою проблему, но мне было бы интересно услышать другие, более гибкие методы. Цель всего этого - создать инфраструктуру разработки, которую можно легко запускать и останавливать в автоматическом режиме, которую можно использовать для локального моделирования облачной среды.

Вскоре после того, как я задал этот вопрос, я решил свою проблему, настроив статический ssh-ключ с помощью команды Debian, нажав late-command. Ни в коем случае не окончательное решение (поскольку ssh-ключи не генерируются динамически), но для локальной инфраструктуры разработки, работа над которой еще не завершена, этого будет достаточно. Я также считаю, что другие опубликованные ответы являются равноценными решениями, которые следует учитывать, если вы попадете в эту ситуацию.

Вы можете установить git и агент puppet на ящик и настроить rc.local для запуска git pull && puppet apply.

Вам понадобится репозиторий git, доступный по протоколу http (s), который вы также можете разместить в своей среде (например, ноутбук), и манифест марионетки с определениями пользователя / ключа, который очень легко написать.

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

Вы, вероятно, также можете использовать другие инструменты управления cfg.

Вы можете предварительно установить агент Userify на ISO. Они будут обновлять ваши SSH-ключи с течением времени и позволят вам удаленно создавать пользователей (sudo perms и т. Д.). Ему нужен только исходящий HTTPS, поэтому он должен легко работать с виртуальной машиной, если вы не отключили исходящий сетевой доступ.