N'hésitez pas à remplir le formulaire pour nous contacter par courriel. Tous les champs sont obligatoires.

Votre nom ou pseudo

Votre adresse e-mail (facultatif)


Contenu de votre message


Entrez le code de validation    J4BYK


Connection SSH automatique en BASH

Ce script permet de se connecter en SSH sur un serveur et d'effectuer des actions tel que redémarrer un server Apache ou redémarrer une base de donnée MYSQL. Ce script utilise expect, xterm et zenity

#! /bin/bash

if [[ `which expect` == '' ]]; then
    zenity --question --title="Installation" --text="<b>expect</b> ne semble pas installé. Souhaitez vous l'installer maintenant ?"
    if [[ "$?" == 0 ]]; then
        gksudo -m "L'installation de expect nécessite les privilèges administrateur" "apt-get install -y -f expect" | zenity --progress --title="Installation" --text="Installation de <b>expect</b> en cours..." --auto-close --pulsate
    else
        exit
    fi
fi

function _ssh() {
choice=`zenity --list --title="Serveur Distant" --text="choisissez une action dans la liste" --height="225" --width="200" --column "actions" "Connection SSH" "Redémarrer le serveur" "Redémarrer la base de donnée" "Tout redémarrer" "Installer ce script"`

case $choice in
    "Connection SSH") xterm -e expect -c """ set force_conservative 1;
set timeout 2
spawn ssh root@server
expect \"password: $\"
send \"ton-pass\n\"
sleep 3
interact """ | zenity --progress --title="Serveur distant" --text="Connection SSH en cours..." --pulsate --auto-close
_ssh
    ;;
    "Redémarrer le serveur") xterm -e expect -c """ set force_conservative 1;
set timeout 2
spawn ssh root@server
expect \"password: $\"
send \"ton-pass\n\"
sleep 3
send \"/etc/init.d/apache2 restart\n\"
send \"exit\n\"
interact """ | zenity --progress --title="Serveur distant" --text="Redémarrage du serveur en cours..." --pulsate --auto-close
_ssh
    ;;
    "Redémarrer la base de donnée") xterm -e expect -c """ set force_conservative 1;
set timeout 2
spawn ssh root@server
expect \"password: $\"
send \"ton-pass\n\"
sleep 3
send \"/etc/init.d/mysql restart\n\"
send \"exit\n\"
interact """ | zenity --progress --title="Serveur distant" --text="Redémarrage de la base de donnée en cours..." --pulsate --auto-close
_ssh
    ;;
    "Tout redémarrer") xterm -e expect -c """ set force_conservative 1;
set timeout 2
spawn ssh root@server
expect \"password: $\"
send \"ton-pass\n\"
sleep 3
send \"/etc/init.d/apache2 restart\n\"
send \"/etc/init.d/mysql restart\n\"
send \"exit\n\"
interact """ | zenity --progress --title="Serveur distant" --text="Redémarrage du serveur et de la base de donnée en cours..." --pulsate --auto-close
_ssh
    ;;
    "Installer ce script") gksudo "cp -p ssh-connect.sh /usr/bin  cp -p ssh-connect.desktop /usr/share/applications"
    _ssh
    ;;
esac
}

_ssh

 

Écrire un commentaire


Quelle est la cinquième lettre du mot imcxbv ?