Bonjour à tous,

J'ai fais un petit script à partir d'infos glanées ça et là ...

Le but :

Se connecter sur des serveurs à partir d'une liste d'ip.
Récupérer des variables et me les afficher.

Sauf que quand un serveur n'est pas accessible, le script s'arrête et je voudrai, en cas d'erreur quelconque (clé ssh refusée, timeout de connexion, ...) qu'il passe à l'adresse ip suivante.

Voici ce que j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
#!/usr/bin/python
 
import paramiko
import os
 
privatekeyfile = os.path.expanduser('/home/ll/.ssh/privateopensshkey.ssh')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
lstadrip = open('/home/ll/Documents/lst_eth0.txt', 'r')
for i in lstadrip:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(i,username='root',pkey=mykey)
        stdin, stdout, stderr = ssh.exec_command(". /usr/bin/ParseDico; echo $var1")
        info1 = stdout.read().replace('\n', '')
        stdin, stdout, stderr = ssh.exec_command(". /usr/bin/ParseDico; echo $var2")
        info2 = stdout.read().replace('\n', '')
        tdin, stdout, stderr = ssh.exec_command("grep / /etc/squid/src_noauth_user | tail -1")
        info3 = stdout.read().replace('\n', '')
        print info1, info2, info3
        ssh.close()
lstadrip.close()
Merci pour votre aide.

Edit : Je viens de trouver ça :
http://www.lag.net/paramiko/docs/par...ion-class.html

Mais je ne vois pas trop comment l'utiliser... Je précise également que je n'y connais strictement rien en python...