Как мне установить пароль для облачного образа Ubuntu?

Я пытаюсь запустить .ova с VirtualBox и хочу импортировать тот же образ позже в vSphere.

Облачные образы Ubuntu больше не имеют стандартного пароля.

Я хотел бы отредактировать .ova, чтобы настроить пароль. (и более поздние ключи SSH)

У загруженного .ova есть свойство пароля.

Я нашел инструмент под названием cot (Обычный инструмент OVF) для редактирования свойств.

Я попробовал:

cot edit-properties ubuntu-18.04-server-cloudimg-amd64-custom.ova -p password=ubuntu

Также пробовали:

cot edit-properties ubuntu-18.04-server-cloudimg-amd64-custom.ova -p user-data="password: ubuntu"

Обе попытки безуспешны. (невозможно войти в систему)

Есть ли способ применить эту конфигурацию к изображениям, или эти свойства передаются в изображение при его запуске?

Есть идеи?

Обновлено: (ответы на справочные вопросы)

  1. В качестве первого шага мне нужен root-доступ, чтобы я мог протестировать сетевую настройку адаптера, моста, маршрутов, DNS.
  2. Второй целью является новый пользователь с ключом ssh и sudo.
  3. Ubuntu 17.10 (скоро 18.04)
  4. VirtualBox 5.2.14
  5. vSphere 5.5
5
задан 18 July 2018 в 01:09
9 ответов

Вопросы

Было бы полезно, если бы вы могли добавить справочную информацию к вопросу, например:

  1. Зачем вам нужно устанавливать пароль root. Может есть альтернативный способ. Чего вы пытаетесь достичь?
  2. Согласно (1), рекомендуемый способ может быть одним из нескольких: пользователь root с паролем, новый пользователь с ключом ssh и sudo, другие.)
  3. На чем работает ваш хост система?
  4. Версия VirtualBox?
  5. Версия VMWare vsphere?

Общий план

  1. Установите правильные настройки для Virtualbox
  2. Создайте файлы данных пользователя и метаданных
  3. Создайте образ ISO для cloud-init
  4. Загрузите виртуальную машину с прикрепленным ISO-образом в качестве съемного устройства

Virtualbox

  1. Вы можете импортировать OVA как устройство, используя IMG или VMDK диск. Вы можете сделать это в графическом интерфейсе или командной строке.
  2. Вы должны включить последовательный порт в аппаратных настройках виртуальной машины. При желании укажите его на необработанный файл в вашем доме, чтобы вы могли видеть журнал в случае проблем.
  3. Вам понадобится iso / img, сгенерированный ниже для cloud-init и смонтируйте его на dvd- или cd-устройстве импортированной виртуальной машины. Если виртуальная машина не включает устройство DVD / CD, вам необходимо его добавить. Добавьте его как IDE и master, затем загрузите ISO-образ, сгенерированный ниже.

Cloud-Init

Если вы используете Облачные образы Ubuntu , вы должны использовать Cloud-Init для установки начальной конфигурации он позволяет вам установить:

  • Локаль по умолчанию
  • Имя хоста
  • Генерация и настройка закрытых ключей SSH

... среди других функций.

Возможности Cloud-init можно настроить с помощью флага пользовательских данных для встроенных команд или вызова конфигурационного файла типа YAML с применимыми настройками.

Это может быть сделано через - пользовательские данные или - -user-data-file аргумент, когда вы работаете в режиме inline, или вы можете сделать это с помощью ISO. Я собираюсь показать шаги для режима монтирования ISO.

Я не буду устанавливать пароль для пользователя root или пользователя, вместо этого я создаю нового пользователя с доступом SSH через открытые ключи ssh и предоставляю пользователю разрешения sudo вместо этого.

Вот пример файла пользовательских данных облачной конфигурации, создайте его в текстовом редакторе и соблюдайте имя, иначе исходный файл не будет правильным исходным кодом и не будет работать .

#cloud-config
users:
  - default
  - name: eddypronk
    ssh-authorized-keys:
      - <your user public key here>
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo
    shell: /bin/bash

Вы также можете иметь метаданные для имени хоста и других определений:

instance-id: set-an-unique-instance-name-id
local-hostname: set-the-hostname

После создания файлов сгенерируйте файл iso для загрузки в виде компакт-диска или DVD из виртуального менеджера:

genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data meta-data

Вам потребуется genisoimage для этого или cloud-utils инструмент cloud-localds для этого другого варианта:

cloud-localds my-seed.img my-user-data my-meta-data

Помните, что если вы оставите сид / nocloud iso смонтированным, он перезапишет настройки в виртуальной машине с настройками в файлах данных. И если вы измените что-либо в пользовательских данных или метаданных, вам необходимо перестроить iso или img.

Boot

Теперь вы можете загрузить виртуальную машину. По умолчанию вы не можете подключиться к машине по ssh, используя имя пользователя и пароль, или подключиться через консоль VNC («графическое» окно виртуальной машины в Virtualbox). Вы должны использовать метод аутентификации с открытым / закрытым ключом с ssh. Это означает включение пользователя с открытым ключом ssh в YAML-файле user-data . Кроме того, повышение прав sudo для учетной записи ubuntu без пароля, но учетная запись заблокирована по умолчанию.

5
ответ дан 3 December 2019 в 01:00

Вот ссылка на возможные решение https://techglimpse.com/nova-boot-instance-with-password/

Создайте файл с именем userdata.txt со следующим содержимым:

#cloud-config
password: mypasswd
chpasswd: { expire: False }
ssh_pwauth: True

Теперь передайте файл userdata.txt в качестве входных данных при создании нового экземпляра, как показано ниже:

#openstack server create --flavor m1.small --image Ubuntu-Trusty --key-name  mykey --nic net-id=88536e89-12a9-41eb-8aed-57983ee299e8 --security-group default --user-data=userdata.txt my-ubuntu

Приведенная выше команда установит пароль mypasswd для пользователя по умолчанию ubuntu .

4
ответ дан 3 December 2019 в 01:00

согласно их web, пароль для образов генерируется случайным образом.

Имя пользователя будет ubuntu, но изображения будут «выплевывать» случайно сгенерированный пароль при первой загрузке.

«Получите пароль для 'ubuntu' и войдите в систему. Выбор по умолчанию в меню grub приведет к случайному сгенерированному паролю для пользователя 'ubuntu' при первой загрузке. Пароль записывается в двух местах, в консоли и последовательном устройство. На консоли вы увидите такие строки: «

Прочтите эту ссылку, шаг 4:

https://help.ubuntu.com/community/UEC/Images

1
ответ дан 3 December 2019 в 01:00

В вашем образе установлен cloud-init. Это означает, что вы можете использовать Источник данных NoCloud для загрузки конфигурации с дискеты (vfat) или компакт-диска (ISO9660). В этом образе у вас может быть файл облачной конфигурации, в котором вы можете настроить ssh-ключи

. Подробнее читайте также: http://blog.klocwork.com/open-source/using-cloud -init-outside-of-the-cloud /

1
ответ дан 3 December 2019 в 01:00

Я предполагаю, что пароль вы are сбрасываются при запуске виртуальной машины, так как cloud-init по умолчанию отключает аутентификацию по паролю. Возможно, вы можете попробовать смонтировать образ и настроить cloud.cfg, как показано ниже:

/etc/cloud/cloud.cfg

#cloud-config
password: mysecret
chpasswd: { expire: False }
ssh_pwauth: True

Это должно активировать парольную аутентификацию и установить пароль, как указано в следующей ссылке:

https: //ask.openstack. org / en / question / 5531 / defining-default-user-password-for-ubuntu-cloud-image /

1
ответ дан 3 December 2019 в 01:00

Почему бы вам не импортировать OVA, загрузить виртуальную машину в VBox, добавить пароль, экспортировать виртуальную машину в OVA и использовать его в следующий раз, когда вам понадобится создать новая ВМ?

0
ответ дан 3 December 2019 в 01:00

18.04 пошаговая установка

Короче говоря, вам нужно:

sudo apt-get install cloud-image-utils

cat >user-data <<EOF
#cloud-config
password: asdfqwer
chpasswd: { expire: False }
ssh_pwauth: True
EOF

cloud-localds user-data.img user-data

# user-data.img MUST come after the rootfs. 
qemu-system-x86_64 \
-drive file=ubuntu-18.04-server-cloudimg-amd64.img,format=qcow2 \
-drive file=user-data.img,format=raw
...

и теперь вы можно войти с:

  • имя пользователя: ubuntu
  • пароль: asdfqwer

Здесь я описываю полный минимально подробный рабочий пример QEMU: https://askubuntu.com/questions/281763 / is-there-any-prebuilt-qemu-ubuntu-image32bit-online / 1081171 # 1081171

2
ответ дан 3 December 2019 в 01:00

Для облачного образа Ubuntu нет имени пользователя/пароля по умолчанию. Перед созданием экземпляра из образа необходимо настроить его с помощью приведенной ниже команды cmd.

virt-customize -a bionic-server-cloudimg-amd64.img --root-password password:<pass>

Необходимо установить ниже pkg, чтобы получить virt-customize cmd.

sudo apt install libguestfs-tools
1
ответ дан 13 August 2020 в 17:36

Вот шаги, которые помогли мне настроить ключ SSH и некоторые другие вещи на виртуальной машине. В моем случае я использую VMWare и создаю машину из файла OVA.

В основном вам нужно создать 3 файла конфигурации, а затем поместить их в iso-файл, который вы затем монтируете как компакт-диск при загрузке виртуальной машины, а затем cloud-init настраивает вашу машину.

Выполните эти команды, чтобы создать три файла конфигурации:

cat <<EOF > user-data
#cloud-config
users:
  - default
  - name: mylinuxuser
    ssh-authorized-keys:
      - ssh-rsa .... REPLACE THIS WITH YOUR SSH KEY FROM ~/.ssh/id_rsa.pub
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo
    shell: /bin/bash
EOF
 
cat <<EOF > meta-data
# change the instance-id every time you make changes to cloud-init files or it may not apply the changes
instance-id: iid-local01
local-hostname: devlin2
EOF
 
cat <<EOF > network-config
version: 1
config:
  - type: physical
    # this is the name of an existing interface it will find and then configure with these settings - in ubuntu 20 this is ens192
    name: ens192
    subnets:
      - type: static
        address: 10.2.2.23/24
        gateway: 10.2.2.1
        dns_nameservers:
          - 10.2.2.7
          - 10.2.2.9
        dns_search:
          - dv-wh
EOF

# install the genisoimage tool
sudo apt install genisoimage

# create an iso containing the above 3 files
genisoimage -output nocloud1.iso -volid cidata -joliet -rock user-data meta-data network-config

Затем перейдите в виртуальный бокс или vmware и смонтируйте этот ISO как компакт-диск и перезагрузите машину.

0
ответ дан 25 March 2021 в 13:08

Теги

Похожие вопросы