# Test de connexion dans un script Shell

**URL:** <https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 8:23 UTC](https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136 "2016-02-20T20:23:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pcsystemd](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pcsystemd/32/5182_2.png) [@pcsystemd](https://www.debian-fr.org/u/pcsystemd)\
**Post date:** [Février 20, 2016, 8:23 UTC](https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136/1 "2016-02-20T20:23:49Z")

</div>

Bonjour,

j’ai crée un script shell ou entre autre je me connecte via SSH et SFTP(bien sur j’ai configuré mes machine pour que cela soit possible) et cela fonctionne très bien mais je souhaiterais tester depuis mon script si la connexion c’est bien faites ou pas et c’est la que j’ai besoin de vous.

Je sais faire bien sur des tests avec if,elif et else mais comment m’y prendre pour tester si ma connexion SFTP et SSH ce sont bien faite et si c’est pas le cas que que je reçoive un mail du style :

`if [je suis connecté ok]
then
        put monfichier
else
      echo " la connexion SSH na pas été possible" | mail -s "pas de connexion SSH" toto@mail.fr`

Merci

---

<div class="post-metadata">

**Author:** ![ignatioza](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/i/41988e/32.png) [@ignatioza](https://www.debian-fr.org/u/ignatioza)\
**Post date:** [Février 20, 2016, 8:23 UTC](https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136/2 "2016-02-20T20:23:50Z")

</div>

Bonjour  
Tu peux afficher les connexions actives avec netstat:

netstat -nt | grep -c “12.34.56.78:22”

Ca renvoie 1 si connecté au ssh de 12.34.56.78, 0 sinon.

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 8:23 UTC](https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136/3 "2016-02-20T20:23:52Z")

</div>

Bonjour,

Si c’est sur un serveur SSH que tu souhaites te connecter tu peux faire ceci :

`ssh -p $PORT_SSH $USER_SSH@$IP_PC echo "" > /dev/null 2>&1
if [$? -eq 0]
then
        put monfichier
else
      echo " la connexion SSH na pas été possible" | mail -s "pas de connexion SSH" toto@mail.fr`

Si le serveur SSH est injoig,able le code retour est 127, il me semble, sinon il retourne le code retour de la commande (echo).

---

<div class="post-metadata">

**Author:** ![pcsystemd](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pcsystemd/32/5182_2.png) [@pcsystemd](https://www.debian-fr.org/u/pcsystemd)\
**Post date:** [Février 20, 2016, 8:23 UTC](https://www.debian-fr.org/t/test-de-connexion-dans-un-script-shell/21136/4 "2016-02-20T20:23:53Z")

</div>

Merci a vous deux, les deux solutions fonctionnent. Pour ceux que cela peut intéressé :

déclaration des variables :

`MAVARIABLE1=`netstat -nt | grep -c "monip:22"
MAVARIABLE2="0"`

puis le bout de script :

`if [["$MAVARIABLE1" > "$MAVARIABLE2"]]
then
mes instructions
else
mes instructions
fi`
