informatica:programacion:python:modulos:sshtunnel
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:python:modulos:sshtunnel [2021/09/10 08:39] – [Instalación] tempwin | informatica:programacion:python:modulos:sshtunnel [2021/09/10 10:11] (actual) – [sshtunnel] tempwin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== sshtunnel ====== | ====== sshtunnel ====== | ||
| - | Creación de túneles SSH a servidores remotos con Python | + | Creación de [[informatica: |
| * [[https:// | * [[https:// | ||
| Línea 50: | Línea 50: | ||
| server.stop() | server.stop() | ||
| </ | </ | ||
| + | |||
| + | Otro escenario habitual es acceder a otro equipo que está conectado al servidor SSH, pero no tiene visibilidad desde el exterior: | ||
| + | |||
| + | < | ||
| + | ---------------------------------------------------------------------- | ||
| + | |||
| + | | | ||
| + | -------------+ | ||
| + | CLIENTE | ||
| + | | ||
| + | -------------+ | ||
| + | | | ||
| + | | ||
| + | |||
| + | ---------------------------------------------------------------------- | ||
| + | </ | ||
| + | |||
| + | Para poder conectarnos al servidor privado, se debe de crear un túnel SSH a través del puerto 443 del servidor remoto: | ||
| + | |||
| + | <code python> | ||
| + | import paramiko | ||
| + | import sshtunnel | ||
| + | |||
| + | with sshtunnel.open_tunnel( | ||
| + | (REMOTE_SERVER_IP, | ||
| + | ssh_username=" | ||
| + | ssh_password=" | ||
| + | remote_bind_address=(PRIVATE_SERVER_IP, | ||
| + | local_bind_address=(' | ||
| + | ) as tunnel: | ||
| + | client = paramiko.SSHClient() | ||
| + | client.load_system_host_keys() | ||
| + | client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) | ||
| + | client.connect(' | ||
| + | # do some operations with client session | ||
| + | client.close() | ||
| + | print(' | ||
| + | </ | ||
| + | |||
| + | En el ejemplo anterior estamos estableciendo un túnel SSH entre un equipo local y un servidor remoto con SSH y a través de ese túnel creamos una conexión entre el equipo local y el servidor privado solo accesible desde el servidor remoto con SSH. | ||
informatica/programacion/python/modulos/sshtunnel.1631255993.txt.gz · Última modificación: por tempwin
