You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
3.9 KiB

#!/bin/bash
set -eu
synopsis() {
cat << EOF
Usage : `basename $0` [-h]
EOF
}
help() {
cat << EOF
`basename $0` démarre la machine virtuelle debian-1 du réseau virtualMachines.
La commande ~vdn/vdn/bin/vdn est une alternative graphique à ce script.
`synopsis`
-h : affiche plus d'aide
EOF
}
helpStart() {
cat << EOF
Pour vous connecter en tant qu'utilisateur test sur debian-1 :
vdn-ssh -X test@debian-1 # -X : pour recevoir les fenêtres graphiques de debian-1.
Pour vous connectez root :
vdn-ssh -X root@debian-1 # -X : pour recevoir les fenêtres graphiques de debian-1.
Pour arrêter la machine virtuelle :
vdn-halt debian-1 # ou la commande (root) "poweroff" dans votre machine virtuelle.
Si la machine ne réponds pas :
vdn-kill debian-1 # ARRÊT BRUTAL : équivalent à une coupure électrique !
Pour un écran graphique (VNC) de la debian-1 :
vous devrez fixer un mot de passe à l'utilisateur (commande passwd).
vdn-viewer debian-1
`basename $0` -h pour plus d'aide (vdn-scp, vdn-sshfs, ...).
EOF
}
helpWarning() {
cat << EOF
** AVERTISSEMENT **
Vous êtes l'administrateur unique de vos machines virtuelles !
En tant qu'administrateur vous avez la charge de leur intégrité !
Ce système est une Debian buster classique avec authentification ssh par clés.
L'authentification ssh par clés, uniquement active par défaut pour
l'utilisateur propriétaire de la machine virtuelle, permet de ne pas avoir
à connaitre les mots de passes (générés initialement aléatoirement).
Vous pouvez changer les mots de passe mais, votre machine virtuelle étant
connectée au réseau pédagogique et à Internet (via le proxy du réseau
pédagogique si ce dernier est ouvert), choisissez de bons mots de passe !
****************************************************************************
N'utilisez pas et ne stockez pas de mots de passe (ou tout autre information
"sensible") provenant du monde "réel" dans vos machines virtuelles !
****************************************************************************
EOF
echo -n "Appuyez sur la touche Entrée pour la suite "; read resp
}
helpPlus() {
cat << EOF
** Informations **
Les commandes vdn-* disposent toutes d'une documentation intégrée obtenue
avec l'option -h.
Outre la commande vdn-ssh déjà présentée plus haut, les commandes suivantes
vont cous permettre de "joindre" votre machine virtuelle à partir de l'hôte :
vdn-scp : effectue un scp à partir ou à destination d'un système virtuel.
vdn-sshfs : monte un répertoire du système virtuel dans un répertoire de l'hôte.
vdn-ssh-copy-id : copie une clé publique dans un système virtuel.
Appliquez l'option -h à une de ces commandes pour un exemple.
EOF
cat << EOF
** Notes **
La documentation générale sur VDN, est accessible ici :
https://opale.u-clermont1.fr/info/wiki/doku.php?id=public:vdn:start
S'il vous reste de la place sur le disque de votre machine virtuelle (df -h),
n'hésitez pas à installer, dans un cadre pédagoqique, les paquets/logiciels
de votre choix.
EOF
}
usage() {
synopsis
exit 1
}
args() {
local opt
while getopts "h" opt; do
case $opt in
h) help; helpStart; helpPlus; exit 0;;
?) usage;;
esac
done
shift $(($OPTIND - 1))
[ -n "$*" ] && usage || :
}
# Programme principal
VDN_PATH=$(readlink -f $(dirname $0)); . $VDN_PATH/bin/functions.sh
args "$@"
n="debian-1"
if vdn-alive $n; then
helpStart
error "Le système virtuel $n est déjà lancé !"
fi
helpWarning
vdn-set-network-dir $VDN_PATH/networks/virtualMachines
vdn -t # test host
echo
echo -n "vdn-start debian-1 "
vdn-start -b -v "KVM_VIEWER_AUTOSTART=0" debian-1
cpt=0
while ! vdn-ssh -n -o ConnectTimeout=1 root@debian-1 exit 0 2> /dev/null; do
echo -n "."
cpt=$(($cpt+1))
done
echo "( $cpt sec.)"
echo "Démarrage du service docker..."
vdn-scripts -n startDocker &> /dev/null
r=$?
helpStart
[ $r -ne 0 ] && warning "Echec du démarrage de docker".
echo "debian-1 démarrée !"