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 :
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
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()
Avez-vous une idée de l'endroit où je me suis plantée ?
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
Je vous remercie d'avance.
Partager