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
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 !"
|
|
|