Customizzare l'esecuzione PXE di Clonezilla per consentire l'accesso SSH

From RVM Wiki
Jump to navigation Jump to search

È sufficiente impostare i parametri di boot, e far eseguire uno script.

Creazione della password criptata per l'utente user

Al login, viene caricato l'utente live "user". Si passa come parametro al kernel l'hash MD5 della password, creabile con

export $LAPASSWORD=xxyyzz
echo $LAPASSWORD | mkpasswd -s -H md5
$1$D219J8eE$tBgEv7dWNGxSmk1uBGGur1

Il comando mkpasswd è installabile con

sudo aptitude install whois

Creazione Share samba per ospitare le immagini

Creare la share:

sudoedit /etc/samba/smb.conf
[images$]
       comment = Cloning Images
       valid users = clonezilla
       read only = no
       browseable = no
       path = /files/images

Creare l'utente:

sudo net -S galserver -U administrator user add clonezilla zillaclone

Resettare la password:

sudo smbpasswd clonezilla

Creare la directory per le immagini

sudo mkdir /files/images

Impostare le permission:

sudo chown -R clonezilla\: /files/images


Creare lo script che mostra l'indirizzo ip

  • Questo script verrà eseguito a boot avvenuto, e mostrerà l'ip della macchina.

Lo script viene lanciato dalla share samba, una volta che risulta montata.

cat | sudo tee /files/images/ocs_live_run < /dev/null <<'EOFile'
#!/bin/bash
loadkeys it
export IPADDRESS=$(ifconfig eth0| grep "inet addr" | tr -s ' '| cut -f 3 --delim=' ' | cut -f 2 --delim=':')
echo IP Address is: $IPADDRESS
echo "Waiting for connection from the network administrator ...."
screen -c /home/partimag/screenrc
EOFile

sudo chmod +x /files/images/ocs_live_run
  • Creare il file di configurazione di screen, per abilitare la sessione multiuser:
cat | sudo tee /files/images/screenrc > /dev/null <<'EOFile'
multiuser on
caption always
caption string "IP Address=$IPADDRESS"
EOFile

Impostazione dei parametri di boot

  • Attenzione, sia i parametri che le opzioni di mount cambiano da versioen a versione. In particolare, questi parametri valgono per
clonezilla-live-1.2.10-14-i686-pae
  • Settare i valori:
export TFTPSERVER=192.168.0.9
export SMBSERVER=192.168.0.9
export PASSWD=$(echo $LAPASSWORD | mkpasswd -s -H md5)

Aggiungere i parametri di boot per montare la share samba e far eseguire ssh

cat | sudo tee /files/tftpboot/pxelinux.cfg/default > /dev/null <<EOFile
DISPLAY boot.txt

DEFAULT clonezilla

label clonezilla
    kernel vmlinuz
    append initrd=initrd.img boot=live live-config union=aufs nolocales nosplash noprompt  noswap edd=on nomodeset vga=normal fetch=tftp://${TFTPSERVER}/filesystem.squashfs ocs_prerun1="sleep 2" ocs_prerun2="/bin/mount -t cifs //${SMBSERVER}/images$ /home/partimag -o user=clonezilla,password=zillaclone" ocs_live_run="" nolocales ocs_live_batch=no ocs_lang="en_US.UTF-8" ocs_live_keymap="/usr/share/keymaps/i386/qwerty/it.kmap.gz" ocs_daemonon="ssh" ocs_live_run="/home/partimag/ocs_live_run" usercrypted=${PASSWD} ocs_numlk="on"


PROMPT 1
TIMEOUT 50
EOFile

Collegamento e lancio clone

  • Collegarsi alla macchina con l'utente user:
ssh user@ipmacchinadaclonare
  • Loggarsi come root
sudo -i
  • Agganciare la sessione screen
screen -x
  • Adattare la dimensione della sessione screen a quella del proprio terminale:
ctrl-a F
  • Avviare Clonezilla
clonezilla
  • Scegliere di clonare sulla /home/partimag già montata.

Rifermenti