Customizzare l'esecuzione PXE di Clonezilla per consentire l'accesso SSH
È 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
- 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=initrd1.img boot=live live-config union=aufs noswap noprompt vga=788 ip=frommedia fetch=tftp://$TFTPSERVER/filesystem.squashfs ocs_live_keymap="/usr/share/keymaps/i386/qwerty/it.kmap.gz" ocs_lang="en_US.UTF-8" usercrypted=$PASSWD ocs_numlk="on" ocs_daemonon="ssh" ocs_live_batch="no" ocs_prerun="mount -t cifs //$SMBSERVER/images$ /home/partimag -o user=clonezilla%zillaclone" ocs_live_run="sudo bash /home/partimag/ocs_live_run"
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.