Cómo establecer una contraseña para Ubuntu Cloud Images (es decir, NO usar ssh)

Cómo establecer una contraseña para Ubuntu Cloud Images (es decir, NO usar ssh)

Estoy ejecutando una nube OpenStack con una configuración de red muy particular, que hace imposible que una instancia se comunique con cualquier cosa en el mundo exterior hasta que inicie sesión y configure varios archivos de configuración.

Como resultado de esto, yono puedoinicie sesión en instancias utilizando claves SSH. ¿Hay alguna manera de establecer una contraseña predeterminada en una imagen de nube de Ubuntu 12.04 (tiene que ser 12.04) para poder iniciar sesión directamente desde la consola Horizon? Intenté utilizar el procedimiento descrito enhttps://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/pero no funcionó en Ubuntu 12.04... aunque sí funcionó en 14.04.

Respuesta1

Configuración 18.04 paso a paso

En resumen necesitas:

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
...

y ahora puedes iniciar sesión con:

  • nombre de usuario:ubuntu
  • contraseña:asdfqwer

Aquí describo un ejemplo completo de QEMU de trabajo mínimo y detallado:¿Hay alguna imagen QEMU Ubuntu prediseñada (32 bits) en línea?

Respuesta2

Primero puede crear una imagen de máquina virtual (VM) desde virtualbox o vmware que ya tiene un par de claves. Como puede controlar su virtualbox o vmware libremente, puede obtener el par de claves del host virtual.

  1. luego importe el par de claves a su openstack.

  2. sube esta imagen de máquina virtual

  3. crear una instancia (A) a partir de esta imagen

  4. cree una instancia (B) a partir de la imagen de la nube con el par de claves (cargado desde el paso 1) inyectado

  5. Abra la consola (en el horizonte) de la instancia A, ahora puede conectar la instancia B desde A, porque B ha inyectado la clave pública de A.

  6. Después de iniciar sesión, puede configurar el entorno, por ejemplo B, y cambiar la configuración.

Respuesta3

su imagen es: 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

información relacionada