Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bgtunnel

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bgtunnel

Initiate SSH tunnels in the background

  • 0.4.1
  • PyPI
  • Socket score

Maintainers
1

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')

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc