0

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"

この問題を解決するためのいくつかの提案を Google で検索し (たとえば、https://github.com/newsapps/beeswithmachineguns/issues/17 )、提案どおりに試行しましたが、それでも修正できませんでした。

以前にこの問題に遭遇したことがありますか? どのように修正しますか?

ps。ssh( https://pypi.python.org/pypi/ssh )も試してみましたが、同じ問題があります。

4

1 に答える 1

0

この問題を解決できると思います。つまり、これらのマシンの ssh プロトコルを ssh1 から ssh2 に変更すれば、paramiko で問題ありません。

于 2013-08-30T01:22:50.487 に答える