Python paramiko connect不';t超时

Python paramiko connect不';t超时,python,paramiko,Python,Paramiko,我正在尝试获取connect()上的Python paramiko超时。 它适用于许多主机,但特别是一台主机,它从不超时。 这是我的密码: # python3 Python 3.4.2 (default, Oct 8 2014, 10:45:20) ... >>> import paramiko >>> ssh = paramiko.SSHClient() >>> ssh.set_missing_host_key_policy(parami

我正在尝试获取connect()上的Python paramiko超时。 它适用于许多主机,但特别是一台主机,它从不超时。 这是我的密码:

# python3
Python 3.4.2 (default, Oct  8 2014, 10:45:20)
...
>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect(hostname="10.68.45.210", username="root", password="a_none_working_pass", timeout=2)

^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/paramiko/client.py", line 307, in connect
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
  File "/usr/lib/python3/dist-packages/paramiko/client.py", line 510, in _auth
    self._transport.auth_password(username, password)
  File "/usr/lib/python3/dist-packages/paramiko/transport.py", line 1166, in auth_password
    return self.auth_handler.wait_for_response(my_event)
  File "/usr/lib/python3/dist-packages/paramiko/auth_handler.py", line 192, in wait_for_response
    event.wait(0.1)
  File "/usr/lib/python3.4/threading.py", line 553, in wait
    signaled = self._cond.wait(timeout)
  File "/usr/lib/python3.4/threading.py", line 294, in wait
    gotit = waiter.acquire(True, timeout)
KeyboardInterrupt
使用Python 2.7.3和3.4.2在Debian Jessie上进行了尝试,但都挂起在无限循环中


编辑:似乎与此SO主题有关:但有没有办法搁置此问题?

我与Paramiko connect有相同的超时挂起问题,对我有效的解决方案是将Paramiko更新为支持验证超时的最新版本

session.connect('ipAddress', username='username', pkey=key, timeout=5, banner_timeout=5, auth_timeout=5)

您知道您试图访问的服务器的端口吗?22,原版;)这总是可以复制的吗?你能提供一个测试用例(服务器响应,pcap)吗?我在
self.auth\u handler.wait\u for\u response(my\u事件)
中看到了与定时忙等待相同的问题,但无法可靠地复制它以进行调试。不管怎么说,问题在于使用
self.auth\u handler.auth\u password(用户名、密码、我的事件)
设置的
my\u事件从来不会发生。我怀疑当paramiko没有收到对传输的auth_请求的响应时会发生这种情况。
session.connect('ipAddress', username='username', pkey=key, timeout=5, banner_timeout=5, auth_timeout=5)