GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Lösung 1:

18.04 Einrichtung Schritt für Schritt

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ändiges, minimal detailliertes, funktionierendes QEMU-Beispiel:https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171

Lösung 2:

Fragen

Es wäre hilfreich, wenn Sie der Frage Hintergrundinformationen hinzufügen könnten, wie zum Beispiel:

  1. Warum müssen Sie ein Root-Passwort festlegen? Vielleicht gibt es einen alternativen Weg. Was möchten Sie erreichen?
  2. Nach (1) könnte der empfohlene Weg einer von mehreren Optionen sein:Root-Benutzer mit Passwort, ein neuer Benutzer mit ssh-Schlüssel und sudo, andere.)
  3. Was ist Ihr Host-Betriebssystem?
  4. VirtualBox-Version?
  5. VMWare vsphere-version?

Gesamtplan

  1. Legen Sie die richtigen Einstellungen für Virtualbox fest
  2. Erstellen Sie die Benutzerdaten- und Metadatendateien
  3. Generieren Sie das ISO-Image für cloud-init
  4. Starten Sie die VM mit dem angehängten ISO-Image als Wechseldatenträger

Virtuelle Box

  1. Sie können die OVA als Appliance importieren, einen IMG- oder VMDK-Datenträger verwenden. Sie können dies in der GUI oder der Befehlszeile tun.
  2. Sie sollten die serielle Schnittstelle aktivieren in den Hardwareeinstellungen der VM. Optional , verweisen Sie auf eine Rohdatei bei Ihnen zu Hause, damit Sie bei Problemen das Protokoll einsehen können.
  3. Sie benötigen das unten generierte iso/img für cloud-init und mounten es auf dem DVD- oder CD-Gerät für die importierte VM. Wenn die VM kein DVD/CD-Gerät enthält, müssen Sie eines hinzufügen. Fügen Sie es als IDE und Master hinzu und laden Sie dann das unten generierte ISO.

Cloud-Init

Wenn Sie die Ubuntu-Cloud-Images verwenden, sollten Sie Cloud-Init verwenden, um die anfängliche Konfiguration festzulegen, damit 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 den --user-data erfolgen oder --user-data-file -Argument, wenn Sie Inline ausführen, 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, ich erstelle stattdessen einen neuen Benutzer mit SSH-Zugriff über öffentliche ssh-Schlüssel und erlaube dem Benutzer stattdessen sudo-Berechtigungen.

Hier ist ein Beispiel für Benutzerdaten cloud-config-Datei, erstellen Sie sie mit Ihrem Texteditor und respektieren Sie den Namen, sonst ist die Seed-Datei kein gültiger Seed und funktioniert nicht.

#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 Sie als CD-ROM oder DVD aus dem virtuellen Manager laden können:

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

Sie benötigen genisoimage dafür oder die cloud-utils Werkzeug cloud-localds für diese andere Option:

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

Denken Sie daran, dass die Einstellungen in der VM mit denen in den Datendateien überschrieben werden, wenn Sie das Seed / Nocloud-Iso gemountet lassen. Und wenn Sie irgendetwas in den Benutzerdaten oder Metadaten ändern, müssen Sie die ISO oder das Bild neu erstellen.

Starten

Sie können die VM jetzt booten. Standardmäßig können Sie mit dem Benutzernamen und Kennwort keine SSH-Verbindung zum Computer herstellen oder sich über die VNC-Konsole (das „grafische“ VM-Fenster in Virtualbox) verbinden. Sie müssen die Authentifizierungsmethode mit öffentlichem / privatem Schlüssel mit ssh verwenden. Dies bedeutet, einen Benutzer mit einem öffentlichen SSH-Schlüssel in den Benutzerdaten zu aktivieren YAML-Datei. Außerdem ist die sudo-Berechtigungserhöhung für das Ubuntu-Konto passwortlos, aber das Konto ist standardmäßig gesperrt.

Lösung 3:

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

Erstellen Sie eine Datei namens userdata.txt mit folgendem Inhalt:

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

Übergeben Sie nun userdata.txt Datei als Eingabe beim Erstellen einer neuen Instanz 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

Der obige Befehl setzt das Passwort mypasswd für den Standardbenutzer ubuntu .


Linux
  1. Wie verifiziere ich eine CD anhand eines ISO-Images?

  2. Wie installiere ich Ubuntu aus einer Iso-Datei?

  3. Wie setze ich ein vergessenes Ubuntu 17.04 Root-Passwort zurück?

  4. Wie bestimme ich, ob ein ISO ein Hybrid ist?

  5. Wie setze ich $LD_LIBRARY_PATH in Ubuntu?

So erstellen Sie mit Cubic ein benutzerdefiniertes Live-ISO-Image für Ubuntu

So ändern oder setzen Sie das Benutzerkennwort in Linux

So richten Sie Apache Virtual Hosts unter Ubuntu 18.04 ein

So installieren Sie MySQL 8.0 auf Ubuntu 18.04

So installieren Sie Passbolt Password Manager unter Ubuntu 18.04

So ändern Sie das Passwort auf Ubuntu