2
連接我需要在多臺服務器上運行一個命令,我使用下面的代碼:蟒蛇的paramiko用的FileInput
import paramiko, getpass, fileinput
username = raw_input("Enter your username [%s]: " % getpass.getuser())
passwd = getpass.getpass("Enter your password: ")
serverlist = raw_input("Enter the server list file path with filename: ")
for line in fileinput.input([serverlist]):
paramiko.util.log_to_file('paramiko.log')
s = paramiko.SSHClient()
#s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(line, 22, username, passwd)
stdin, stdout, stderr = s.exec_command('uptime')
print stdout.read()
s.close()
但是,此代碼生成以下錯誤信息:
Traceback (most recent call last):
File "test_paramiko.py", line 15, in
s.connect(line, 22, username, passwd)
File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 277, in connect
socket.getaddrinfo(hostname, port):
socket.gaierror: [Errno -2] Name or service not known
我不知道我在這裏錯過了什麼。請幫忙!
是的,使用'strip()'或'rstrip()'字符串方法。 – 2013-02-27 10:47:32
非常感謝,修正了問題。 – SGL 2013-02-27 10:51:17