如何将连接超时设置为 sshtunnel
How to set connection timeout to sshtunnel
我在 python 上使用 sshtunnel 模块中的 SSHTunnelForwarder。
给定下一个代码:
server = SSHTunnelForwarder(
(sshServer, sshPort),
ssh_username=sshUsername,
ssh_password=sshPassword,
remote_bind_address=(imapServer, imapPort),
local_bind_address=('127.0.0.1', localPort)
)
print('STARTING')
server.start()
print(server.is_active)
有时需要很长时间,可能几分钟,然后我得到错误:
2019-04-22 22:25:54,365| ERROR | Could not connect to gateway ip..... : 110
Traceback (most recent call last):
File "PYTHON_TUNNEL.py", line 24, in <module>
server.start()
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1295, in start
reason='Could not establish session to SSH gateway')
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1101, in _raise
raise exception(reason)
sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway
Ubuntu18.04,python2.7
是否可以设置隧道建立超时?
在调用 connect
之前有一个 SSH_TIMEOUT
constant with a default of None
in sshtunnel.py
that is set on the socket used to create the transport。
不幸的是,我自己无法测试,但您可以在启动隧道转发器之前尝试修补该常量:
import sshtunnel
sshtunnel.SSH_TIMEOUT = 5.0
server = sshtunnel.SSHTunnelForwarder([...])
server.start()
还有一个 TUNNEL_TIMEOUT
constant, but that seems to be used for checks if the tunnel is already established and for the call to open_channel
on the underlying Paramiko Transport instance。它似乎在隧道的创建过程中没有发挥作用。
此外,TUNNEL_TIMEOUT
默认设置为一秒,并且您在 server.start()
之前遇到了长达一分钟的延迟BaseSSHTunnelForwarderError
被提出,这个常量似乎不太可能与您的问题的解决方案相关。
我在 python 上使用 sshtunnel 模块中的 SSHTunnelForwarder。
给定下一个代码:
server = SSHTunnelForwarder(
(sshServer, sshPort),
ssh_username=sshUsername,
ssh_password=sshPassword,
remote_bind_address=(imapServer, imapPort),
local_bind_address=('127.0.0.1', localPort)
)
print('STARTING')
server.start()
print(server.is_active)
有时需要很长时间,可能几分钟,然后我得到错误:
2019-04-22 22:25:54,365| ERROR | Could not connect to gateway ip..... : 110
Traceback (most recent call last):
File "PYTHON_TUNNEL.py", line 24, in <module>
server.start()
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1295, in start
reason='Could not establish session to SSH gateway')
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1101, in _raise
raise exception(reason)
sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway
Ubuntu18.04,python2.7
是否可以设置隧道建立超时?
在调用 connect
之前有一个 SSH_TIMEOUT
constant with a default of None
in sshtunnel.py
that is set on the socket used to create the transport。
不幸的是,我自己无法测试,但您可以在启动隧道转发器之前尝试修补该常量:
import sshtunnel
sshtunnel.SSH_TIMEOUT = 5.0
server = sshtunnel.SSHTunnelForwarder([...])
server.start()
还有一个 TUNNEL_TIMEOUT
constant, but that seems to be used for checks if the tunnel is already established and for the call to open_channel
on the underlying Paramiko Transport instance。它似乎在隧道的创建过程中没有发挥作用。
此外,TUNNEL_TIMEOUT
默认设置为一秒,并且您在 server.start()
之前遇到了长达一分钟的延迟BaseSSHTunnelForwarderError
被提出,这个常量似乎不太可能与您的问题的解决方案相关。