Python Paramiko在150+;运行简单命令时的服务器
我正在尝试使用python的Paramiko模块在一堆远程服务器上运行多个命令 我尝试运行的命令是简单的命令,比如cat、lspci(带有grep)以及只有一行输出的小脚本 问题是,如果我提供很少的机器(~50台),它就可以正常工作。 当我尝试在许多机器上运行脚本时,问题就出现了Python Paramiko在150+;运行简单命令时的服务器,python,linux,ssh,paramiko,Python,Linux,Ssh,Paramiko,我正在尝试使用python的Paramiko模块在一堆远程服务器上运行多个命令 我尝试运行的命令是简单的命令,比如cat、lspci(带有grep)以及只有一行输出的小脚本 问题是,如果我提供很少的机器(~50台),它就可以正常工作。 当我尝试在许多机器上运行脚本时,问题就出现了 try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.con
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username='root', password='pass')
transport = ssh.get_transport()
channel = transport.open_session()
stdin, stdout, stderr = ssh.exec_command(cmd)
for line in stdout.readlines():
line = line.strip()
sheet1.write(row_line,0,host,style_cell) # writing to xls file
sheet1.write(row_line,1,line,style_cell) # writing to xls file
while channel.recv_ready():
channel.recv(1024)
ssh.close()
expect:
print stdout
print stderr
这是我得到的标准,标准:
paramiko.ChannelFile from paramiko.Channel 2 (EOF received) (open) window=2097152
paramiko.Transport at 0xce44c9d0L (cipher aes128-ctr, 128 bits) (active; 2 open channel(s))
请各位指教,
谢谢 可能是特定服务器的问题。尝试输出导致错误的服务器,并查看如果仅使用该特定服务器运行脚本,是否可以重新创建问题 谢谢你的帮助!我尝试在失败的主机上运行命令,命令成功结束…启用paramiko调试日志记录,查看是否可以从paramiko模块获取更多信息<代码>logging.getLogger(“paramiko”).setLevel(logging.DEBUG)。