it-swarm.com.de

Wie lege ich ein Passwort für ein Ubuntu-Cloud-Image fest?

Ich versuche, mit VirtualBox auf .ova zu starten und möchte dasselbe Image später in vSphere importieren.

Ubuntu-Cloud-Images haben kein Standardkennwort mehr.

Ich möchte die .ova bearbeiten, um ein Passwort zu konfigurieren. (und spätere SSH-Schlüssel)

Die heruntergeladene .ova hat eine Passworteigenschaft.

Ich habe ein Tool namens cot (Common OVF tool) gefunden, um die Eigenschaften zu bearbeiten.

Ich habe es versucht:

cot edit-properties ubuntu-18.04-server-cloudimg-AMD64-custom.ova -p password=ubuntu

Auch auch versucht:

cot edit-properties ubuntu-18.04-server-cloudimg-AMD64-custom.ova -p user-data="password: ubuntu"

Beide Versuche ohne Erfolg. (Login nicht möglich)

Gibt es einen Schritt, um diese Konfiguration auf die Bilder anzuwenden, oder werden diese Eigenschaften beim Start an das Bild übergeben?

Irgendwelche Ideen?

Aktualisiert : (Antworten auf Hintergrundfragen)

  1. Als ersten Schritt möchte ich Root-Zugriff, damit ich das Netzwerk-Setup von Adapter, Bridge, Routen und DNS testen kann.
  2. Ein neuer Benutzer mit SSH-Taste und Sudo ist das 2. Ziel.
  3. Ubuntu 17.10 (bald 18.04)
  4. VirtualBox 5.2.14
  5. vSphere 5.5
5
Eddy Pronk

Fragen

Es wäre nützlich, wenn Sie der Frage Hintergrundinformationen hinzufügen könnten, z.

  1. Warum müssen Sie ein Root-Passwort festlegen? Vielleicht gibt es einen alternativen Weg. Was versuchst du zu erreichen?
  2. Gemäß (1) kann der empfohlene Weg eine von mehreren Optionen sein: Root-Benutzer mit Passwort, neuer Benutzer mit SSH-Schlüssel und Sudo, andere.)
  3. Was ist Ihr Host-Betriebssystem?
  4. VirtualBox-Version?
  5. VMWare vsphere-Version?

Genereller Plan

  1. Stellen Sie die richtigen Einstellungen für Virtualbox ein
  2. Erstellen Sie die Benutzerdaten- und Metadatendateien
  3. Generieren Sie das ISO-Image für Cloud-Init
  4. Starten Sie das VM mit dem angehängten ISO-Image als Wechseldatenträger)

Virtualbox

  1. Sie können die OVA als Appliance importieren, eine IMG- oder VMDK-Festplatte verwenden. Sie können dies in der GUI oder in der Befehlszeile tun.
  2. Sie sollten die serielle Schnittstelle in den Hardwareeinstellungen für die VM aktivieren. Optional, zeigen Sie auf eine Rohdatei in Ihrem Haus, damit Sie bei Problemen das Protokoll sehen können.
  3. Sie benötigen die unten generierte ISO/IMG für Cloud-Init und mounten sie auf der DVD oder dem CD-Gerät für die VM, die Sie importiert haben. Wenn die VM nicht) Um ein DVD/CD-Gerät einzuschließen, müssen Sie eines hinzufügen. Fügen Sie es als IDE und Master) hinzu und laden Sie dann die unten generierte ISO.

Cloud-Init

Wenn Sie buntu Cloud Images verwenden, sollten Sie Cloud-Init zum Festlegen der Erstkonfiguration verwenden. Hiermit können Sie Folgendes einrichten:

  • Standardgebietsschema
  • Hostname
  • Generieren und Einrichten von privaten SSH-Schlüsseln

... unter anderem.

Das Verhalten von Cloud-init kann über das Benutzerdaten-Flag für Inline-Befehle oder den Aufruf einer Konfigurationsdatei vom Typ YAML mit den anzuwendenden Einstellungen konfiguriert werden.

Dies kann über das Argument --user-data Oder --user-data-file Erfahren werden, wenn Sie inline ausgeführt werden, oder Sie können dies mit der ISO tun. Ich werde die Schritte für den ISO-Mount-Modus zeigen.

Ich werde kein Passwort für root oder den Benutzer einrichten. Stattdessen erstelle ich einen neuen Benutzer mit SSH-Zugriff über öffentliche SSH-Schlüssel und erlaube dem Benutzer stattdessen Sudo-Berechtigungen.

Hier ist eine Beispiel-Cloud-Konfigurationsdatei für Benutzerdaten . Erstellen Sie sie mit Ihrem Texteditor und respektieren Sie den Namen. Andernfalls wird die Seed-Datei keine gültiger Samen und wird nicht funktionieren.

#cloud-config
users:
  - default
  - name: eddypronk
    ssh-authorized-keys:
      - <your user public key here>
    Sudo: ALL=(ALL) NOPASSWD:ALL
    groups: Sudo
    Shell: /bin/bash

Sie können auch Metadaten für den Hostnamen und andere Definitionen haben:

instance-id: set-an-unique-instance-name-id
local-hostname: set-the-hostname

Generieren Sie nach dem Erstellen der Dateien eine ISO-Datei, die vom virtuellen Manager als CD-ROM oder DVD geladen werden soll:

genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data meta-data

Sie benötigen genisoimage dafür oder das Tool cloud-utilscloud-localds Für diese andere Option:

cloud-localds my-seed.img my-user-data my-meta-data

Denken Sie daran, dass, wenn Sie die Seed/Nocloud-ISO gemountet lassen, die Einstellungen in VM mit denen in den Datendateien überschrieben werden. Und wenn Sie etwas an Benutzerdaten oder Metadaten ändern, werden Sie müssen die iso oder img neu erstellen.

Boot

Sie können jetzt die VM starten. Standardmäßig können Sie nicht mit dem Benutzernamen und dem Kennwort eine Verbindung zum Computer herstellen oder eine Verbindung über die VNC-Konsole herstellen (das "grafische" VM in Virtualbox). Sie müssen die Authentifizierung mit öffentlichem/privatem Schlüssel verwenden Methode mit ssh. Dies bedeutet, dass ein Benutzer mit einem öffentlichen ssh-Schlüssel in der YAML-Datei Benutzerdaten aktiviert wird. Die Erhöhung der Sudo-Berechtigungen für das Ubuntu-Konto ist kennwortlos, das Konto ist jedoch standardmäßig gesperrt.

5
Leo

Hier ist ein Link zur möglichen Lösung https://techglimpse.com/nova-boot-instance-with-password/

Erstellen Sie eine Datei mit dem Namen userdata.txt mit dem folgenden Inhalt:

#cloud-config
password: mypasswd
chpasswd: { expire: False }
ssh_pwauth: True

Übergeben Sie nun die Datei userdata.txt als Eingabe, während Sie eine neue Instanz erstellen, wie unten gezeigt:

#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

Mit dem obigen Befehl wird das Kennwort mypasswd für den Standardbenutzer ubuntu festgelegt.

4
batistuta09

18.04 Schritt für Schritt einrichten

Kurz gesagt, Sie brauchen:

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:

  • benutzername: ubuntu
  • passwort: asdfqwer

Hier beschreibe ich ein vollständig minimales, detailliertes QEMU-Beispiel: https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171

Auf dem Image, das Sie haben, ist Cloud-Init installiert. Dies bedeutet, dass Sie NoCloud-Datenquelle verwenden können, um die Konfiguration von einem Disketten vfat) oder CD-Image (ISO9660) zu laden. In diesem Bild können Sie eine Cloud-Konfigurationsdatei haben, in der Sie --- (ssh keys konfigurieren können

Weitere Informationen finden Sie auch unter: http://blog.klocwork.com/open-source/using-cloud-init-outside-of-the-cloud/

1

entsprechend ihrem Web wird das Passwort für die Bilder weit verbreitet generiert.

Der Benutzername lautet ubuntu, aber die Bilder "spucken" das zufällig generierte Passwort beim ersten Start aus.

"Holen Sie sich das Passwort für 'Ubuntu' und melden Sie sich an. Die Standardauswahl im Grub-Menü führt beim ersten Start zu einem zufällig generierten Passwort für den 'Ubuntu'-Benutzer. Das Passwort wird an zwei Stellen geschrieben , die Konsole und das serielle Gerät. Auf der Konsole sehen Sie Zeilen wie: "

Lesen Sie diesen Link, Schritt 4:

https://help.ubuntu.com/community/UEC/Images

1
N1ckel0us

Ich gehe davon aus, dass die von Ihnen festgelegte Kennworteigenschaft beim Starten von VM] zurückgesetzt wird, da der Cloud-Init die Kennwortauthentifizierung standardmäßig deaktiviert. Möglicherweise können Sie versuchen, das Image bereitzustellen und zu konfigurieren die cloud.cfg wie folgt:

/etc/cloud/cloud.cfg

#cloud-config
password: mysecret
chpasswd: { expire: False }
ssh_pwauth: True

Dies soll die Passwortauthentifizierung aktivieren und ein Passwort festlegen, wie unter folgendem Link erwähnt:

https://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/

1
Diamond

Warum importieren Sie nicht die OVA, starten die VM in VBox, fügen ein Kennwort hinzu, exportieren die VM in eine OVA und verwenden diese beim nächsten Mal) eine neue VM erstellen?

0
user5870571