Bonjour, j'essaie depuis plus d'une semaine de lancer de me connecter en ssh sur 3 serveurs successifs c'est à dire accéder au second aprés m'etre connectée en ssh au premier, puis accéder au 3° apres m'etre connectée en ssh au 2° serveur.
J'utilise parmiko pour ce faire mais je n'arrive à me connecter qu'au premier.
Lorsque je lance la commande ssh pour me connecter au second serveur.
Je reçois un message d'erreur.
Pourriez-vous éclairer ma lanterne ?
Voici mon source :
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
 
import paramiko, time
# Connexion au 1° serveur
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('ip1', username='user1', password='pass1')
stdin, stdout, stderr = ssh.exec_command('pwd')
print stdout.readlines()
# Connexion ssh au 2° serveur and wait for the password prompt.
stdin, stdout, stderr = ssh.exec_command('ssh user2@ip2')
time.sleep(5)
stdin.write('pass2')
# Connexion au 3° serveur
stdin, stdout, stderr = ssh.exec_command('pwd')
print stdout.readlines()
stdin, stdout, stderr = ssh.exec_command('ssh user2@ip2')
time.sleep(5)
stdin.write('pass2')
stdin, stdout, stderr = ssh.exec_command('pwd')
print stdout.readlines()
Quand je l'exécute, je reçois ceci comme message d'erreur :

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
 
['/home/opennms\n']
 
Traceback (most recent call last):
  File "P:\Program Files\Python27\sshtest.py", line 13, in <module>
    stdin.write('siemens')
  File "build\bdist.win32\egg\paramiko\file.py", line 314, in write
    self._write_all(data)
  File "build\bdist.win32\egg\paramiko\file.py", line 439, in _write_all
    count = self._write(data)
  File "build\bdist.win32\egg\paramiko\channel.py", line 1256, in _write
    self.channel.sendall(data)
  File "build\bdist.win32\egg\paramiko\channel.py", line 796, in sendall
    raise socket.error('Socket is closed')
error: Socket is closed
Avez-vous une idée de l'endroit où je me suis plantée ?

Je vous remercie d'avance.