Ich betreibe eine OpenStack-Cloud mit einer sehr speziellen Netzwerkkonfiguration, die es einer Instanz unmöglich macht, mit irgendetwas in der Außenwelt zu kommunizieren, bis ich mich anmelde und mehrere Konfigurationsdateien einstelle.
Als Ergebnis davon habe ichkann nichtMelden Sie sich mit SSH-Schlüsseln bei Instanzen an. Gibt es eine Möglichkeit, ein Standardkennwort für ein Ubuntu 12.04-Cloud-Image (muss 12.04 sein) festzulegen, damit ich mich direkt von der Horizon-Konsole aus anmelden kann? Ich habe versucht, das unter beschriebene Verfahren zu verwenden.https://ask.openstack.org/en/question/5531/definieren-des-standardmäßigen-benutzerpassworts-fur-ubuntu-cloud-image/aber es hat nicht unter Ubuntu 12.04 funktioniert... unter 14.04 hat es jedoch funktioniert.
Antwort1
18.04 Einrichtung Schritt für Schritt
Kurz gesagt, Sie benötigen:
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
...
und jetzt können Sie sich anmelden mit:
- Nutzername:
ubuntu
- Passwort:
asdfqwer
Hier beschreibe ich ein vollständiges, minimales und detailliertes funktionierendes QEMU-Beispiel:Gibt es online ein vorgefertigtes QEMU-Ubuntu-Image (32 Bit)?
Antwort2
Sie können zunächst ein VM-Image (Virtual Machine) aus Virtualbox oder VMware erstellen, das bereits über ein Schlüsselpaar verfügt. Da Sie Ihre Virtualbox oder VMware frei steuern können, können Sie das Schlüsselpaar vom virtuellen Host abrufen.
Importieren Sie dann das Schlüsselpaar in Ihren OpenStack.
Laden Sie dieses Image der virtuellen Maschine hoch
Erstelle eine Instanz (A) aus diesem Bild
Erstellen Sie eine Instanz (B) aus dem Cloud-Image mit dem Schlüsselpaar (hochgeladen in Schritt 1)
Öffnen Sie die Konsole (im Horizont) der Instanz A. Jetzt können Sie die Instanz B von A aus verbinden, da B den öffentlichen Schlüssel von A eingefügt hat.
Nach dem Einloggen können Sie die Umgebung für Instanz B einrichten und die Konfiguration ändern
Antwort3
Ihr Bild ist: 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