2017-02-20 9 views
1

여러 서버에 로그인하여 출력하는 스크립트가 있습니다. 로그인하는 동안 일부 서버에서 다음 오류가 발생합니다.paramiko의 [Errno -2] 처리 방법은 무엇입니까?

"[Errno -2] Name or service not known"

이렇게하면 스크립트가 중간에 끊어집니다. 이 예외는 어떻게 처리 할 수 ​​있습니까? 이미 제외/시도를 사용했지만 작동하지 않았다

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ip = open("files.txt","r") 
data = ip.readlines() 
try: 
    for ips in data: 
    ips = ips.strip("\n") 
    ssh.connect(ips,username='Lock',password='Key',timeout=10) 
    chan = ssh.get_transport().open_session() 
    chan.get_pty() 
    chan.exec_command("uname -a") 
    result = [chan.recv(1024)] 
except Exception as e: 
    print e 

참고 : 스크립트에서 다음 주소를 계속하려면 서버 이름은 files.txt

답변

1

에 보관됩니다 루프, try/except for 루프를 넣어야합니다.

for ips in data: 
    try: 
     ips = ips.strip("\n") 
     ssh.connect(ips, username='Lock', password='Key', timeout=10) 
     ... 
    except Exception as e: 
     print e