GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavím heslo na cloudovém obrázku Ubuntu?

Řešení 1:

18.04 nastavení krok za krokem

Zkrátka potřebujete:

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

a nyní se můžete přihlásit pomocí:

  • uživatelské jméno:ubuntu
  • heslo:asdfqwer

Zde popisuji úplný minimální podrobný pracovní příklad QEMU:https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171

Řešení 2:

Otázky

Bylo by užitečné, kdybyste k otázce mohli přidat informace o pozadí, například:

  1. Proč potřebujete nastavit heslo uživatele root. Možná existuje alternativní způsob. Čeho se snažíte dosáhnout?
  2. Podle (1) může být doporučeným způsobem jedna z několika možností:uživatel root s heslem, nový uživatel s klíčem ssh a sudo, další.)
  3. Jaký je váš hostitelský operační systém?
  4. Verze VirtualBox?
  5. Verze VMWare vsphere?

Obecný plán

  1. Nastavte správná nastavení pro Virtualbox
  2. Vytvořte soubory uživatelských dat a metadat
  3. Vygenerujte obraz ISO pro cloud-init
  4. Spusťte virtuální počítač s připojeným obrazem ISO jako vyměnitelné zařízení

Virtualbox

  1. Můžete importovat OVA jako zařízení, použít IMG nebo VMDK disk. Můžete to udělat v GUI nebo příkazovém řádku.
  2. Měli byste povolit sériový port v nastavení hardwaru pro virtuální počítač. Volitelně , nasměrujte jej na nezpracovaný soubor u vás doma, abyste v případě problémů viděli protokol.
  3. Potřebujete níže vygenerovaný iso/img pro cloud-init a připojte jej na zařízení dvd nebo cd pro virtuální počítač, který jste importovali. Pokud virtuální počítač neobsahuje zařízení dvd/cd, musíte je přidat. Přidejte jej jako IDE a master a poté načtěte ISO vygenerované níže.

Cloud-Init

Pokud používáte Ubuntu Cloud Images, měli byste pro nastavení počáteční konfigurace použít Cloud-Init, který vám umožňuje nastavit:

  • Výchozí národní prostředí
  • Název hostitele
  • Generování a nastavení soukromých klíčů SSH

... mimo jiné.

Chování Cloud-init lze nakonfigurovat pomocí příznaku uživatelských dat pro vložené příkazy nebo voláním konfiguračního souboru typu YAML s nastavením, které se má použít.

To lze provést pomocí --user-data nebo --user-data-file argument, když běžíte inline, nebo to můžete udělat pomocí ISO. Ukážu kroky pro režim připojení ISO.

Nenastavím heslo pro roota ani uživatele, místo toho vytvářím nového uživatele s přístupem SSH prostřednictvím veřejných klíčů ssh a místo toho uživateli povoluji oprávnění sudo.

Zde je ukázka uživatelských dat cloud-config, vytvořte jej pomocí textového editoru a respektujte název, jinak nebude zdrojový soubor platným zdrojem a nebude fungovat.

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

Můžete mít také metadata pro název hostitele a další definice:

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

Po vytvoření souborů vygenerujte soubor iso, který se načte jako cdrom nebo dvd z virtuálního správce:

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

Potřebujete genisoimage pro toto nebo cloud-utils nástroj cloud-localds pro tuto jinou možnost:

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

Pamatujte, že pokud ponecháte iso seed / nocloud připojené, přepíše nastavení ve virtuálním počítači těmi v datových souborech. A pokud něco změníte v uživatelských datech nebo metadatech, musíte znovu vytvořit iso nebo img.

Zavedení

Nyní můžete spustit VM. Ve výchozím nastavení nemůžete ssh k počítači pomocí uživatelského jména a hesla nebo se připojit přes konzolu VNC ("grafické" okno VM ve Virtualboxu). Musíte použít metodu ověřování pomocí veřejného / soukromého klíče s ssh. To znamená povolit uživateli veřejný ssh klíč v user-data soubor YAML. Také zvýšení práv sudo pro účet ubuntu je bez hesla, ale účet je ve výchozím nastavení uzamčen.

Řešení 3:

Zde je odkaz na možné řešení https://techglimpse.com/nova-boot-instance-with-password/

Vytvořte soubor s názvem userdata.txt s níže uvedeným obsahem:

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

Nyní předejte userdata.txt soubor jako vstup při vytváření nové instance, jak je znázorněno níže:

#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

Výše uvedený příkaz nastaví heslo mypasswd pro výchozího uživatele ubuntu .


Linux
  1. Jak ověřit CD proti obrazu Iso?

  2. Mutt:Jak bezpečně uložit heslo?

  3. Jak resetovat zapomenuté kořenové heslo Ubuntu 17.04?

  1. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  2. Jak zjistím, zda je ISO hybridní?

  3. Jak nastavit $LD_LIBRARY_PATH v Ubuntu?

  1. Jak nainstalovat Ubuntu ze souboru Iso?

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nastavit Unbound DNS Resolver na Ubuntu 20.04