Как установить пароль для образов Ubuntu Cloud (т.е. НЕ использовать ssh)

Как установить пароль для образов Ubuntu Cloud (т.е. НЕ использовать ssh)

Я использую облако OpenStack с очень специфической сетевой конфигурацией, из-за которой экземпляр не может связаться с чем-либо во внешнем мире, пока я не войду в систему и не настрою несколько файлов конфигурации.

В результате этого яне могувойти в экземпляры с помощью ключей SSH. Есть ли способ установить пароль по умолчанию на облачном образе Ubuntu 12.04 (должен быть 12.04), чтобы я мог войти в него напрямую из консоли Horizon? Я пробовал использовать процедуру, описанную наhttps://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/но это не сработало на Ubuntu 12.04... хотя сработало на 14.04.

решение1

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:Есть ли в сети готовый образ QEMU Ubuntu (32 бита)?

решение2

Сначала вы можете создать образ виртуальной машины (ВМ) из VirtualBox или VMware, у которой уже есть пара ключей. Поскольку вы можете свободно управлять своим VirtualBox или VMware, вы можете получить пару ключей с виртуального хоста.

  1. затем импортируйте пару ключей в OpenStack.

  2. загрузить этот образ виртуальной машины

  3. создать экземпляр(A) из этого изображения

  4. создайте экземпляр (B) из облачного образа с введенной парой ключей (загруженной на шаге 1)

  5. откройте консоль (в Horizon) экземпляра A, теперь вы можете подключить экземпляр B из A, поскольку B внедрил открытый ключ из A

  6. После входа в систему вы можете настроить среду для примера B и изменить конфигурацию.

решение3

Ваше изображение: focal-server-cloudimg-amd64.img

rm -f vm_0001-focal-server-cloudimg-amd64.qcow2
qemu-img create -f qcow2 -F qcow2 -b focal-server-cloudimg-amd64.img  vm_0001-focal-server-cloudimg-amd64.qcow2 20G
qemu-img info vm_0001-focal-server-cloudimg-amd64.qcow2
VM_NAME="ubuntu-20-cloud-image"
USERNAME="programster"
PASSWORD="thisok"
echo "#cloud-config
system_info:
  default_user:
    name: $USERNAME
    home: /home/$USERNAME

password: $PASSWORD
chpasswd: { expire: False }
hostname: $VM_NAME

# configure sshd to allow users logging in using password 
# rather than just keys
ssh_pwauth: True
" | sudo tee user-data
cloud-localds ./cidata.iso user-data
qemu-system-x86_64 -m 2048 -smp 4 -hda ./vm_0001-focal-server-cloudimg-amd64.qcow2 \
      -cdrom ./cidata.iso -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:22 -nographic

Связанный контент