PDA

Ver la Versión Completa : [HowTo] Saltarse un firewall usando SSH



Xripox
28/07/2010, 21:18
[Only registered and activated users can see links]

En algunas ocasiones necesitamos acceder a algún servicio o aplicación que usa un puerto diferente al que por defecto tenemos permitido.

Esta mañana en el trabajo me he encontrado con la siguiente situación. Deseaba agregar el repositorio UbuntuGis ([Only registered and activated users can see links]) para instalar algunos paquetes del mismo (Grass y Quantum GIS entre otros), pero al añadirlo:


sudo add-apt-repository ppa:ubuntugis/ppa

Me he encontrado con el siguiente problema:


Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver keyserver.ubuntu.com –recv 6B827C12C2D425E227EDCA75089EBE08314DF160
gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn’t connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver keyserver.ubuntu.com –recv 6B827C12C2D425E227EDCA75089EBE08314DF160gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.comgpgkeys: HTTP fetch error 7: couldn’t connect to hostgpg: no valid OpenPGP data found.gpg: Total number processed: 0

Esto sucede porque existe un firewall (el de mi trabajo) y está capando el puerto 11371, el que usa el servidor de claves en la dirección: keyserver.ubuntu.com

Existen dos formas básicas de solucionarlo, la primera sería hablar con el departamento de informática para que no bloqueran por el puerto especificado, pero evidentemente esto es inviable y, sobre todo, lento. La segunda es usar el maravilloso SSH ([Only registered and activated users can see links]) para crear un tunel sobre un servidor externo y evitar el firewall, usando nuestra máquina como servidor local y redireccionando todas las salidas sobre el puerto especificado, es bastante sencillo y nos saltaremos el cortafuegos gustosamente:


Editamos el fichero /etc/hosts (como superusuario), en concreto la siguiente línea:

127.0.0.1 localhost keyserver.ubuntu.com
Guardamos y teniendo en cuenta que disponemos un servidor externo con un servidor SSH y sin restricciones en cuanto a firewall se refiere, lanzamos SSH con un tunel sobre el puerto 11371 local y redireccionando la salida sobre la dirección especificada (keyserver.ubuntu.com) y el mismo puerto. Tan sencillo como la siguiente línea (en este caso estoy usando el servidor de mi universidad, y nombre_usuario el nombre de mi usuario en el servidor ts.uco.es):

[Only registered and activated users can see links]

Nos autenticamos en el servidor y ya estamos preparados para agregar el repositorio, esta vez satisfactoriamente:

[Only registered and activated users can see links]
[sudo] password for ahornero:
Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret
keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring
/etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver
keyserver.ubuntu.com –recv
6B827C12C2D425E227EDCA75089EBE08314DF160
gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.com
gpg: key 314DF160: “Launchpad ubuntugis-stable” not changed
gpg: Total number processed: 1
gpg: unchanged: 1

¡Y listo!, el uso que hagáis de lo que os he explicado es vuestra responsabilidad, evidentemente se pueden hacer otras muchas cosas, pero lo que trato de mostraros aquí es una sencilla forma de evitar un cortafuegos para un uso concreto, en este caso agregar un repositorio.



Visto en Linux Hispano ([Only registered and activated users can see links])