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.

90 lines
1.8 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

#!/bin/bash
# Mot de passe par défaut
export SSHPASS='iut*'
pass=''
# Demande et affiche un mot de passe
getPassword() {
local pass1 pass2
local cont=1
while [ $cont = 1 ];do
echo -n "Mot de passe : " >&2
# -s : lecture sans affichage
read -s pass1
echo >&2
echo -n "Retapez le mot de passe : " >&2
read -s pass2
echo >&2
if [ -n "$pass1" -a "$pass1" = "$pass2" ]; then
cont=0
else
if [ "$pass1" != "$pass2" ]; then
echo "Les mots de passe ne correspondent pas." >&2
else
echo "Un mot de passe vide n'est pas valide !" >&2
fi
fi
done
echo "$pass1"
}
# main
if [ ! -r ~/.ssh/id_rsa.pub ]; then
echo "~/.ssh/id_rsa.pub manquant !" >&2
exit 1
fi
if [ -z "$pass" ]; then
echo "Entrez un mot de passe pour les utilisateurs root et test"
echo "N'oubliez pas ce mot de passe sous peine de tout perdre !"
echo "ATTENTION : Les caractères ', \" et tabulation ne sont pas autorisés ! :"
pass=$(getPassword)
fi
# Copie de la clé ssh publique dans ~root/.ssh/authorized_keys
# de la machine virtuelle
sshpass -e ~vdn/vdn/bin/vdn-ssh-copy-id -i ~/.ssh/id_rsa.pub root@debian-1 &> /dev/null
# idem pour l'utilisateur test
sshpass -e ~vdn/vdn/bin/vdn-ssh-copy-id -i ~/.ssh/id_rsa.pub test@debian-1 &> /dev/null
vdn-ssh root@debian-1 'echo "root:'$pass'" | chpasswd'
vdn-ssh root@debian-1 'echo "test:'$pass'" | chpasswd'
# Vérification
SSHPASS="$pass"
if ! sshpass -e vdn-ssh -n -o PubkeyAuthentication=no root@debian-1 ':'; then
echo "Echec !" >&2
fi
exit 0
# Copie de la clé ssh publique dans ~test/.ssh/authorized_keys
# de la machine virtuelle
vdn-ssh-copy -i ~/.ssh/id_rsa.pub test@debian-1
# Choix d'un nouveau mot de passe pour le compte root
echo "Entrez un nouveau mot