So legen Sie ein Kennwort für Ubuntu Cloud Images fest (d. h. KEIN SSH verwenden)

So legen Sie ein Kennwort für Ubuntu Cloud Images fest (d. h. KEIN SSH verwenden)

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.

  1. Importieren Sie dann das Schlüsselpaar in Ihren OpenStack.

  2. Laden Sie dieses Image der virtuellen Maschine hoch

  3. Erstelle eine Instanz (A) aus diesem Bild

  4. Erstellen Sie eine Instanz (B) aus dem Cloud-Image mit dem Schlüsselpaar (hochgeladen in Schritt 1)

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

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

verwandte Informationen