Установка root-пароля в VM используя контекстуализацию

Установка root-пароля в VM используя контекстуализацию

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Установка root пароля для виртуальной машины используя сценарий инициализации.

По умолчанию OpenNebula не устанавливает root пароль, в целях безопасности, и использует авторизацию по RSA ключам, что безопаснее. Далее представлен способ для установки root пароля через контекстуализацию шаблонов.

Шаг 1. Создаем скрипт

1
2
#!/bin/bash
[ -n "$ROOT_PASSWORD" ] && usermod -p "$ROOT_PASSWORD" root

Шаг 2. Регистрируем скрипт в Sunstone

Переходим в Sunstone во вкладку Virtual Resources -> Files & Kernels, создаем новый файл и загружаем скрипт. Тип указываем CONTEXT и название, например init.sh.

Шаг 3. Обновляем шаблон

Обновим шаблон, указав ему использовать загруженный скрипт при инициализации виртуальной машины.

Virtual Resources -> Templates -> Update -> Context -> Files -> Click 'init.sh' -> Click 'Update'

Шаг 4. Создание пароля

Создаем пароль в зашифрованном виде, например так:

1
echo -n 'mycryptpassword'|openssl passwd -1 -stdin <=> <crypt password>

Получаем криптостойкий пароль: $1$Z3RJXoc0$lheERfI2vrbO3kkgbwbyf/

Добавим значение ROOT_PASSWORD в шаблон.

Virtual Resources -> Templates -> Update -> Context -> Custom Variables

Установка пароля завершена.
При инициализации виртуальной машины будет установлен пароль для root пользователя.

Имеется и другой способ установки root-пароля, например генерацией через PHP скрипт и подгрузкой через API.
(Будет в скором времени добавлено на Github)