Script permettant de passer d'une session ssh à une autre

Fermé
kwetcherod Messages postés 8 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 7 mars 2015 - Modifié par jipicy le 7/03/2015 à 14:40
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 11 mars 2015 à 13:24
Bonjour, La communauté.

Je vous en prie j'aimerai faire un script dans lequel je voudrai me connecter à plusieurs routeur par ssh à partir d'un serveur Linux . En fait il est question de se connecter sur le 1er routeur et executer un ensemble de commande et passer à l'autre ainsi de suite.
Mais le problème c'est que dans ma boucle de script lorsque la commande est exécutée pour la 1ere session ssh, le script s'arrête et ne continue plus.
SVP il ya t il une méthode pour que le script passe au suivant sans arrêter?

voici mon script

#!/bin/bash
while read line
do
ssh -l  admin $line /ip address add address=2.2.2.2/24 interface=ether4 comment="test" quit
done < /opt/ipreseau
exit

cat  /opt/ipreseau
15.0.0.6
15.0.0.8
15.0.0.10
15.0.0.18


Merci

A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
7 mars 2015 à 14:44
Salut,

 
ssh -l  admin $line /ip address add
 
C'est quoi le slash devant la commande
ip
?
0
kwetcherod Messages postés 8 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 7 mars 2015
7 mars 2015 à 15:16
zipe31
le slash devant la commande ip c'est pour marquer le debut d'une commande dans les routeur de type Mikrotik RB . en fait c'est une syntaxe qui s'exécute en ce moment lorsqu'on est dejà connecter au routeur par ssh.

Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
7 mars 2015 à 15:22
Ok. Il faut que tu englobes ta commande en l'entourant de quotes (simples) :

ssh -l  admin $line '/ip address add address=2.2.2.2/24 interface=ether4 comment="test" quit'
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419 > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
7 mars 2015 à 15:27
Si ça ne passe pas avec les quotes simples il faudra tester avec des doubles, mais il faudra protéger celles existantes :

ssh -l  admin $line "/ip address add address=2.2.2.2/24 interface=ether4 comment=\"test\" quit"
0
Merci!! j'ai essayé avec simples ou double quotes le resultat ne change pas. il ya t il une autre piste ?

Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
11 mars 2015 à 13:24
Le quit à la fin de la commande c'est obligé ?
Essaye sans...

Sinon, est-ce qu'au moins la commande tapée tel quel dans un terminal, marche ?
0