Ben*_*ahi 8 python timeout paramiko
这是一个使用paramiko的python代码片段:
import paramiko
sshClient = paramiko.SSHClient()
sshClient.set_missing_host_key_policy(paramiko.AutoAddPolicy)
sshClient.connect(_peerIp, username=_username, password=_password, timeout=3.0)
Run Code Online (Sandbox Code Playgroud)
一旦我运行脚本,我也拔掉了_peerIp的网络电缆.并且connect()方法挂起.即使超时是3.0,它已经是10分钟,它仍然挂起.
(我认为TCP连接是在瞬间建立的,我在ssh建立期间拔掉了电缆)
那么,你知道任何解决方法吗?我的脚本将在制造工厂运行,它不能在这种情况下挂起并正确处理它.
编辑:
它只是例外:
No handlers could be found for logger "paramiko.transport"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/paramiko/client.py", line 327, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "/usr/lib/pymodules/python2.6/paramiko/client.py", line 438, in _auth
self._transport.auth_publickey(username, key)
File "/usr/lib/pymodules/python2.6/paramiko/transport.py", line 1234, in auth_publickey
return self.auth_handler.wait_for_response(my_event)
File "/usr/lib/pymodules/python2.6/paramiko/auth_handler.py", line 163, in wait_for_response
raise e
socket.error: [Errno 113] No route to host
Run Code Online (Sandbox Code Playgroud)
好吧,至少它最终引发了异常,但我认为这不是预期的行为.如果超时为3.0,则connect()方法应在超时到期后返回一些内容.
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |