GNU/Linux >> Linux Esercitazione >  >> Linux

Come imposto una password su un'immagine cloud di Ubuntu?

Soluzione 1:

18.04 configurazione dettagliata

In breve, hai bisogno di:

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

e ora puoi accedere con:

  • nome utente:ubuntu
  • password:asdfqwer

Qui descrivo un esempio di QEMU funzionante minimo e dettagliato:https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171

Soluzione 2:

Domande

Sarebbe utile se potessi aggiungere informazioni di base alla domanda, come:

  1. Perché è necessario impostare una password di root. Forse c'è un modo alternativo. Cosa stai cercando di realizzare?
  2. Secondo (1), il modo consigliato potrebbe essere una tra diverse opzioni:utente root con password, un nuovo utente con chiave ssh e sudo, altri.)
  3. Qual ​​è il tuo sistema operativo host?
  4. Versione VirtualBox?
  5. Versione VMWare vsphere?

Piano generale

  1. Imposta le impostazioni corrette per Virtualbox
  2. Crea i file di dati utente e metadati
  3. Genera l'immagine ISO per cloud-init
  4. Avvia la VM con l'immagine ISO allegata come dispositivo rimovibile

Cassetta virtuale

  1. Puoi importare l'OVA come appliance, utilizzare un disco IMG o VMDK. Puoi farlo nella GUI o nella riga di comando.
  2. Dovresti abilitare la porta seriale nelle impostazioni hardware per la VM. Facoltativo , indirizzalo a un file non elaborato a casa tua, così puoi vedere il log in caso di problemi.
  3. Hai bisogno dell'iso/img generato di seguito per cloud-init e montalo nel dispositivo dvd o cd per la VM che hai importato. Se la VM non include un dispositivo dvd/cd, devi aggiungerne uno. Aggiungilo come IDE e master, quindi carica l'ISO generato di seguito.

Cloud-Init

Se stai usando Ubuntu Cloud Images, dovresti usare Cloud-Init per impostare la configurazione iniziale, ti permette di impostare:

  • Impostazioni internazionali predefinite
  • Nome host
  • Generazione e configurazione di chiavi private SSH

... tra le altre caratteristiche.

Il comportamento di Cloud-init può essere configurato tramite il flag dei dati utente per i comandi in linea o chiamando un file di configurazione di tipo YAML con le impostazioni da applicare.

Questo potrebbe essere fatto tramite il --user-data o --user-data-file argomento quando stai eseguendo inline, oppure puoi farlo con l'ISO. Mostrerò i passaggi per la modalità di montaggio ISO.

Non imposterò una password per root o per l'utente, creerò invece un nuovo utente con accesso SSH tramite chiavi pubbliche ssh e concederò invece all'utente le autorizzazioni sudo.

Ecco un esempio di dati utente cloud-config, crealo con il tuo editor di testo e rispetta il nome o il file seme non sarà un seme valido e non funzionerà.

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

Puoi anche avere metadati per il nome host e altre definizioni:

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

Dopo aver creato i file genera un file iso da caricare come cdrom o dvd dal virtual manager:

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

Hai bisogno di genisoimage per questo o il cloud-utils strumento cloud-localds per quest'altra opzione:

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

Ricorda che se lasci il seed / nocloud iso montato, sovrascriverà le impostazioni nella VM con quelle nei file di dati. E se modifichi qualcosa nei dati utente o nei metadati, devi ricostruire l'iso o l'img.

Avvio

Ora puoi avviare la VM. Per impostazione predefinita, non è possibile ssh alla macchina utilizzando il nome utente e la password o connettersi tramite la console VNC (la finestra VM "grafica" in Virtualbox). Devi usare il metodo di autenticazione con chiave pubblica/privata con ssh. Ciò significa abilitare un utente con una chiave ssh pubblica nei dati-utente File YAML. Inoltre, l'elevazione dei privilegi sudo per l'account ubuntu è senza password, ma l'account è bloccato per impostazione predefinita.

Soluzione 3:

Ecco un link alla possibile soluzione https://techglimpse.com/nova-boot-instance-with-password/

Crea un file chiamato userdata.txt con i seguenti contenuti:

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

Ora passa userdata.txt file come input durante la creazione di una nuova istanza come mostrato di seguito:

#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

Il comando precedente imposterà la password mypasswd per l'utente predefinito ubuntu .


Linux
  1. Come configurare un risolutore DNS non legato su Ubuntu 20.04

  2. Come impostare l'autenticazione della password Apache su Ubuntu 18.08?

  3. Come installare MySQL su Ubuntu 22.04

  4. Come ripristinare la password di root di Ubuntu 17.04 dimenticata?

  5. Come faccio a determinare se un ISO è un ibrido?

Come creare un'immagine ISO live di Ubuntu personalizzata con Cubic

Come modificare o impostare la password utente in Linux

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come installare MySQL 8.0 su Ubuntu 18.04

Come installare Passbolt Password Manager su Ubuntu 18.04

Come modificare la password su Ubuntu