Я использую облако 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, вы можете получить пару ключей с виртуального хоста.
затем импортируйте пару ключей в OpenStack.
загрузить этот образ виртуальной машины
создать экземпляр(A) из этого изображения
создайте экземпляр (B) из облачного образа с введенной парой ключей (загруженной на шаге 1)
откройте консоль (в Horizon) экземпляра A, теперь вы можете подключить экземпляр B из A, поскольку B внедрил открытый ключ из A
После входа в систему вы можете настроить среду для примера 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