遇到缺少输出时,Paramiko挂起

时间:2018-07-13 19:09:44

标签: python-2.7 ssh paramiko

Paramiko脚本正在挂起,尝试通过ssh浏览IP地址列表并执行一些命令以提取可能存在或可能不存在的信息。例如,如果我要实现uname -a,则应显示主机名,但是,如果列表中的下一个服务器没有主机名,则脚本似乎正在挂起。

import paramiko
import sys
import io
import getpass
import os
import time

# ***** Open Plain Text
f = open("file.txt")

# ***** Read & Store into Variable
hn=(f.read().splitlines())
f.close()

# ***** Credentials 
username =  raw_input("Please Enter Username: ")
password =  getpass.getpass("Please Enter Passwod: ")


# ***** SSH
client=paramiko.SSHClient()
def connect_ssh(hn):
    try:
        client.load_system_host_keys()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(hn, 22, username, password, look_for_keys=False, allow_agent=False)

        print 'Connection Attempting to: '+(hn)
        channel = client.get_transport().open_session()
        channel.invoke_shell()


        #print "CMD
        #channel.send("CMD"+"\n")
        channel.send("command"+"\n")
        CMD = (channel.recv(650000))
        print (CMD)


    except Exception, e:
        print '*** Caught exception: %s: %s' % (e.__class__, e)
    try:
        channel.close()
    except:
        pass

# *****Create Loop through input.txt
for x in hn:
    connect_ssh(x)

0 个答案:

没有答案