Solución 1:
Configuración de 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 mínimo y detallado:https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171
Solución 2:
Preguntas
Sería útil si pudiera agregar información de fondo a la pregunta, como:
- ¿Por qué necesita establecer una contraseña de root? Tal vez hay una forma alternativa. ¿Qué estás tratando de lograr?
- Según (1), la forma recomendada podría ser una entre varias opciones:usuario root con contraseña, un nuevo usuario con clave ssh y sudo, otros.)
- ¿Cuál es su sistema operativo host?
- ¿Versión de VirtualBox?
- ¿Versión de VMware vsphere?
Plano general
- Establecer la configuración correcta para Virtualbox
- Cree los archivos de metadatos y datos de usuario
- Generar la imagen ISO para cloud-init
- Inicie la máquina virtual con la imagen ISO adjunta como un dispositivo extraíble
Caja virtual
- Puede importar el OVA como un dispositivo, usar un disco IMG o VMDK. Puede hacerlo en la GUI o en la línea de comandos.
- Debe habilitar el puerto serie en la configuración de hardware de la máquina virtual. Opcionalmente , apúntelo a un archivo sin procesar en su casa, para que pueda ver el registro en caso de problemas.
- Necesita el iso/img generado a continuación para cloud-init y montarlo en el dispositivo de DVD o CD para la máquina virtual que importó. Si la máquina virtual no incluye un dispositivo de DVD/CD, debe agregar uno. Agréguelo como IDE y maestro, luego cargue el ISO generado a continuación.
Iniciar en la nube
Si está utilizando Ubuntu Cloud Images, debe usar Cloud-Init para establecer la configuración inicial, le permite configurar:
- Configuración regional predeterminada
- Nombre de host
- Generación y configuración de claves privadas SSH
... entre otras características.
El comportamiento de Cloud-init se puede configurar a través del indicador de datos de usuario para comandos en línea o llamando a un archivo de configuración de tipo YAML con la configuración que se aplicará.
Esto se puede hacer a través del --user-data
o --user-data-file
argumento cuando está ejecutando en línea, o puede hacerlo con la ISO. Voy a mostrar los pasos para el modo de montaje ISO.
No configuraré una contraseña para root o el usuario, en su lugar crearé un nuevo usuario con acceso SSH a través de claves públicas ssh y permitiré al usuario permisos sudo en su lugar.
Aquí hay una muestra de datos de usuario archivo de configuración de la nube, créelo con su editor de texto y respete el nombre o el archivo semilla no será una semilla válida y no funcionará.
#cloud-config
users:
- default
- name: eddypronk
ssh-authorized-keys:
- <your user public key here>
sudo: ALL=(ALL) NOPASSWD:ALL
groups: sudo
shell: /bin/bash
También puede tener metadatos para el nombre de host y otras definiciones:
instance-id: set-an-unique-instance-name-id
local-hostname: set-the-hostname
Después de crear los archivos, genere un archivo iso para cargar como un cdrom o dvd desde el administrador virtual:
genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data meta-data
Necesitas genisoimage
para este o el cloud-utils
herramienta cloud-localds
para esta otra opción:
cloud-localds my-seed.img my-user-data my-meta-data
Recuerde que si deja montado el iso seed/nocloud, sobrescribirá la configuración de la máquina virtual con la de los archivos de datos. Y si cambia algo en los datos de usuario o los metadatos, debe reconstruir el iso o img.
Arranque
Ahora puede arrancar la máquina virtual. De forma predeterminada, no puede acceder a la máquina usando el nombre de usuario y la contraseña ni conectarse a través de la consola VNC (la ventana de VM "gráfica" en Virtualbox). Debe usar el método de autenticación de clave pública / privada con ssh. Esto significa habilitar a un usuario con una clave ssh pública en los datos de usuario archivo YAML. Además, la elevación de privilegios sudo para la cuenta de ubuntu no requiere contraseña, pero la cuenta está bloqueada de manera predeterminada.
Solución 3:
Aquí hay un enlace a la posible solución https://techglimpse.com/nova-boot-instance-with-password/
Cree un archivo llamado userdata.txt con el siguiente contenido:
#cloud-config
password: mypasswd
chpasswd: { expire: False }
ssh_pwauth: True
Ahora, pase userdata.txt archivo como entrada al crear una nueva instancia como se muestra a continuación:
#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
El comando anterior establecerá la contraseña mypasswd para el usuario predeterminado ubuntu .