Ich bin neu bei Python und ich kann nicht den Grund, warum mein Code nicht funktioniert. Ich versuche, eine Verbindung zu mehreren Servern durch Hostnamen Liste in einer Datei über SSH (mit Paramiko).Mit ssh Remote-Befehl ausführen Python
Etwas seltsam passiert, der Code funktioniert nur, wenn es einen Hostnamen in der Datei gibt, wenn es mehr als das hat, funktioniert es nicht. nur um klar zu sein, die Schleife funktioniert gut.
hoffe du kannst mir helfen, danke im voraus!
Der Code:
import sys import os import paramiko client=paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) username='yadayada' password='ladida' ipFile=open("C:\Users\garmiza\Documents\Scripts\TrapToHpsimLinuxIPList.txt","r") for line in iter(ipFile): print "sending trap from " + line client.connect(line,username=username,password=password) command="snmptrap -v 1 -c public 16.19.203.96 enterprises.232 {clientIP} 6 11003 0".format(clientIP=line) stdin, stdout, stderr = client.exec_command(command) ipFile.close()
Die Fehler:
File "C:/Users/zaza/PycharmProjects/linuxTrapSending/linuxTrapSending.py", line 16, in <module>
client.connect(line,username=username,password=password)
File "C:\Python27\lib\site-packages\paramiko\client.py", line 301, in connect
to_try = list(self._families_and_addresses(hostname, port))
File "C:\Python27\lib\site-packages\paramiko\client.py", line 199, in _families_and_addresses
hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
socket.gaierror: [Errno 11001] getaddrinfo failed
Process finished with exit code 1
In Ihrer Schleife, drucken Sie "line", um sicherzustellen, dass es ist, was Sie denken, dass es ist. –
Ja, habe ich, Drucken der IP-Adressen in Ordnung. danke – GarAnn