我使用paramiko生成ssh连接,但我无法为所有机器生成ssh连接。我收到几台机器的错误:
No handlers could be found for logger "paramiko.transport"
我的代码非常简单:
try:
tmp_ssh = paramiko.SSHClient()
tmp_ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
tmp_ssh.connect(tmp_ip, 22, tmp_user, tmp_pswd, timeout = 5)
tmp_res = ""
if type(tmp_cmd) == type([]):
for tmp_str in tmp_cmd:
tmp_str = tmp_str.strip()
if len(tmp_str) > 0:
tmp_in, tmp_out, tmp_err = tmp_ssh.exec_command(tmp_str)
tmp_ret = tmp_out.readlines()
tmp_res += "".join(tmp_ret)
else:
tmp_cmd = str(tmp_cmd)
tmp_str = tmp_cmd.strip()
if len(tmp_str) > 0:
tmp_in, tmp_out, tmp_err = tmp_ssh.exec_command(tmp_str)
tmp_ret = tmp_out.readlines()
tmp_res += "".join(tmp_ret)
tmp_ssh.close()
print tmp_res
except:
print "ERROR"
我谷歌提出几个解决此问题的建议(例如,https://github.com/newsapps/beeswithmachineguns/issues/17),我按照他们的建议尝试,但我仍然无法修复它。
你之前遇到过这个问题吗?你是如何解决它的?PS。我也尝试ssh(https://pypi.python.org/pypi/ssh),它有同样的问题。
答案 0 :(得分:0)
我想我可以解决这个问题,也就是说,将这些机器的ssh协议从ssh1更改为ssh2,paramiko就可以了。