Solution 1 :
Configuration 18.04 étape par étape
En bref, vous avez besoin :
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
...
et maintenant vous pouvez vous connecter avec :
- nom d'utilisateur :
ubuntu
- mot de passe :
asdfqwer
Ici, je décris un exemple de QEMU complet et détaillé :https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171
Solution 2 :
Questions
Il serait utile que vous puissiez ajouter des informations générales à la question, comme :
- Pourquoi avez-vous besoin de définir un mot de passe root ? Il y a peut-être une alternative. Qu'essayez-vous d'accomplir ?
- Selon (1), la méthode recommandée pourrait être une option parmi plusieurs :utilisateur root avec mot de passe, un nouvel utilisateur avec clé ssh et sudo, autres.)
- Quel est votre système d'exploitation hôte ?
- Version VirtualBox ?
- Version de VMware vsphere ?
Plan général
- Définir les paramètres corrects pour Virtualbox
- Créer les fichiers de données utilisateur et de métadonnées
- Générer l'image ISO pour cloud-init
- Démarrez la VM avec l'image ISO jointe en tant que périphérique amovible
Boîte virtuelle
- Vous pouvez importer l'OVA en tant qu'appliance, utiliser un disque IMG ou VMDK. Vous pouvez le faire dans l'interface graphique ou la ligne de commande.
- Vous devez activer le port série dans les paramètres matériels de la VM. Facultatif , pointez-le vers un fichier brut dans votre maison, afin que vous puissiez voir le journal en cas de problème.
- Vous avez besoin de l'iso/img généré ci-dessous pour cloud-init et montez-le sur le périphérique dvd ou cd de la VM que vous avez importée. Si la VM n'inclut pas de périphérique dvd/cd, vous devez en ajouter un. Ajoutez-le en tant qu'IDE et maître, puis chargez l'ISO généré ci-dessous.
Cloud-Init
Si vous utilisez les images Ubuntu Cloud, vous devez utiliser Cloud-Init pour définir la configuration initiale, il vous permet de configurer :
- Paramètres régionaux par défaut
- Nom d'hôte
- Générer et configurer des clés privées SSH
... entre autres fonctionnalités.
Le comportement de Cloud-init peut être configuré via l'indicateur de données utilisateur pour les commandes en ligne ou en appelant un fichier de configuration de type YAML avec les paramètres à appliquer.
Cela peut être fait via le --user-data
ou --user-data-file
argument lorsque vous exécutez en ligne, ou vous pouvez le faire avec l'ISO. Je vais montrer les étapes pour le mode de montage ISO.
Je ne configurerai pas de mot de passe pour root ou l'utilisateur, je crée à la place un nouvel utilisateur avec un accès SSH via des clés publiques ssh et j'autorise à la place les autorisations sudo de l'utilisateur.
Voici un exemple de données utilisateur cloud-config, créez-le avec votre éditeur de texte et respectez le nom ou le fichier seed ne sera pas un seed valide et ne fonctionnera pas.
#cloud-config
users:
- default
- name: eddypronk
ssh-authorized-keys:
- <your user public key here>
sudo: ALL=(ALL) NOPASSWD:ALL
groups: sudo
shell: /bin/bash
Vous pouvez également avoir une méta-donnée pour le nom d'hôte et d'autres définitions :
instance-id: set-an-unique-instance-name-id
local-hostname: set-the-hostname
Après avoir créé les fichiers, générez un fichier iso à charger sous forme de cdrom ou de dvd depuis le gestionnaire virtuel :
genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data meta-data
Vous avez besoin de genisoimage
pour ceci ou le cloud-utils
outil cloud-localds
pour cette autre option :
cloud-localds my-seed.img my-user-data my-meta-data
N'oubliez pas que si vous laissez l'iso seed / nocloud monté, il écrasera les paramètres de la VM avec ceux des fichiers de données. Et si vous modifiez quoi que ce soit dans les données utilisateur ou les métadonnées, vous devez reconstruire l'iso ou l'img.
Démarrer
Vous pouvez maintenant démarrer la VM. Par défaut, vous ne pouvez pas vous connecter en ssh à la machine en utilisant le nom d'utilisateur et le mot de passe ou vous connecter via la console VNC (la fenêtre VM "graphique" dans Virtualbox). Vous devez utiliser la méthode d'authentification par clé publique / privée avec ssh. Cela signifie activer un utilisateur avec une clé ssh publique dans les user-data Fichier YAML. De plus, l'élévation des privilèges sudo pour le compte ubuntu est sans mot de passe, mais le compte est verrouillé par défaut.
Solution 3 :
Voici un lien vers la solution possible https://techglimpse.com/nova-boot-instance-with-password/
Créez un fichier nommé userdata.txt avec le contenu ci-dessous :
#cloud-config
password: mypasswd
chpasswd: { expire: False }
ssh_pwauth: True
Maintenant, passez userdata.txt fichier en tant qu'entrée lors de la création d'une nouvelle instance, comme indiqué ci-dessous :
#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
La commande ci-dessus définira le mot de passe mypasswd pour l'utilisateur par défaut ubuntu .