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