Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:modulos:sshtunnel

¡Esta es una revisión vieja del documento!


Tabla de Contenidos

sshtunnel

Creación de túneles SSH a servidores remotos con Python

Instalación

Se puede instalar a través de pip:

pip install sshtunnel

Uso

Los típicos escenarios de uso de este módulo es cuando queremos conectarnos a un puerto de un servidor remoto que solo tiene abierto el puerto del servidor SSH:

----------------------------------------------------------------------

                            |
-------------+              |    +----------+
    CLIENTE  |              |    | SERVIDOR | :22 SSH
     LOCAL   | <== SSH ========> |  REMOTO  | :8080 Apache
-------------+              |    +----------+
                            |
                         FIREWALL (solo abierto puerto 22)

----------------------------------------------------------------------

Como se puede ver, en ese ejemplo solo tenemos acceso al servidor remoto mediante por el puerto 22 (SSH) y queremos acceder al 8080:

from sshtunnel import SSHTunnelForwarder
 
server = SSHTunnelForwarder(
    'servidor.remoto.com',
    ssh_username="usuario",
    ssh_password="secreto",
    remote_bind_address=('127.0.0.1', 8080)
)
 
server.start()
 
print(server.local_bind_port)  # show assigned local port
# work with `SECRET SERVICE` through `server.local_bind_port`.
 
server.stop()
informatica/programacion/python/modulos/sshtunnel.1631255993.txt.gz · Última modificación: por tempwin