skip to navigation
skip to content

Not Logged In

bgtunnel 0.3.4

Initiate SSH tunnels in the background

Latest Version: 0.3.8

bgtunnel - Initiate SSH tunnels in the background
Useful when you need to connect to a database only accessible through
another ssh-enabled host. It works by opening a port forwarding ssh
connection in the background, using threads. The connection(s) are
automatically closed when the process exits, or when explicitly calling
the `close` method of the returned SSHTunnelForwarderThread object.

Notes on default values
-----------------------

* Bind address and host address defaults to "127.0.0.1"
* SSH port defaults to 22
* Bind port defaults to picking a random available one, accessible from the
object returned by the `open` function

Usage examples
--------------

# Enable forwarding for a MS SQL server running on the remote SSH host
>>> import bgtunnel
>>> forwarder = bgtunnel.open(ssh_user='manager', ssh_address='1.2.3.4',
... host_port=1433)
>>> print(forwarder.bind_port)
59432
>>> import somesqlpkg
>>> conn = somesqlpkg.connect('mssql://myuser:mypassword@localhost:' +
forwarder.port)

# Enable forwarding for an old AS400 DB2 server accessible only via
# the remote SSH host. Multiple ports need to be opened.
>>> import bgtunnel
>>> ports = [446, 449] + range(8470, 8477)
>>> forwarders = []
>>> for port in ports:
... forwarders.append(bgtunnel.open(ssh_user='manager',
... ssh_address='1.2.3.4',
host_address='192.168.0.5',
... host_port=port, bind_port=port))
>>> print('
'.join(f.bind_port for f in forwarders))
446
449
8470
8471
8472
8473
8474
8475
8476
>>> import somesqlpkg
>>> conn = somesqlpkg.connect('mssql://myuser:mypassword@localhost:446')  
File Type Py Version Uploaded on Size
bgtunnel-0.3.4.tar.gz (md5) Source 2014-01-03 6KB
  • Downloads (All Versions):
  • 22 downloads in the last day
  • 307 downloads in the last week
  • 431 downloads in the last month