2013-08-29 117 views
0

我使用paramiko生成SSH連接,但我無法生成所有機器的SSH連接。我得到一個錯誤的幾臺機器:通過使用paramiko生成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

我想我可以解決這個問題,也就是把這些機器的ssh協議從ssh1改成ssh2,paramiko就可以了。