BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(02/09/2010 18:16:25)
    
Google


En bulma.net
En internet
Túnel SSH invertit - [Tunel SSH inverso] (25630 lectures)
Por Joan
Joan ()
Creado el 07/01/2004 13:59 modificado el 07/01/2004 23:47

Tinc un ordinador amb linux a casa (Venus) que està firewalled i al que hi vull accedir-hi amb ssh des del linux que tinc al despatx (Mart). No puc redirigir cap port del gateway que dóna sortida a Internet a Venus. Per solucionar-ho establiré un túnel ssh invertit des de Venus a Mart ;-)

[En casa tengo un ordenador con linux (Venus) que esta firewalled y al que quiero acceder con ssh desde el linux que tengo en la oficina (Mart). No puedo redirigir ningun puerto del gateway que da salida a Internet a Venus. Para solucionarlo establecere un tunel ssh inverso desde Venus a Mart.]

Actualizado: Ahora tambien en castellano.


Pagina1/1

Túnel SSH invertit - [Tunel SSH inverso]

Tinc un ordinador amb linux a casa (Venus) que està firewalled i al que hi vull accedir-hi amb ssh des del linux que tinc al despatx (Mart). No puc redirigir cap port del gateway que dóna sortida a Internet a Venus. Per solucionar-ho establiré un túnel ssh invertit des de Venus a Mart.

[En casa tengo un ordenador con linux (Venus) que esta firewalled y al que quiero acceder con ssh desde el linux que tengo en la oficina (Mart). No puedo redirigir ningun puerto del gateway que da salida a Internet a Venus. Para solucionarlo establecere un tunel ssh inverso desde Venus a Mart.]

No he trobat cap tutorial que expliqui com fer-ho en la seva totalitat, sobretot el punt d'automatitzar l'autenticació per establir el túnel ssh invertit. Per això m'he decidit a escriure-ho. Suposo que hi haurà altres maneres de fer-ho, potser més fàcils, no sóc un expert així que demano disculpes pels errors que el document pugui tenir.

[No he encontrado ningun tutorial que explique como hacerlo en su totalidad, en especial la automatizacion de la autenticacion para establecer el tunel ssh inverso. Por eso me he decidido a escribirlo. Supongo que habra otros modos de hacerlo, a lo mejor mas faciles, no soy un experto asi que pido disculpas por los errores que el documento pueda tener.]



El problema

Tenim dos ordinadors amb linux en dues xarxes diferents, estan físicament separades i només poden comunicar-se a través d'Internet:

[Tenemos dos ordenadores con linux en dos redes diferentes, estan fisicamente separadas y solo pueden intercomunicarse a traves de Internet:]

  • Mart: Te el port 22 (ssh) accessible des de Internet, te la direcció el_meu_domini.com. Per tant, des de qualsevol lloc d'Internet podem fer "ssh root@el_meu_domini.com" per obrir un shell.

    [Tiene el puerto 22 (ssh) accesible desde Internet, tiene la direccion el_meu_domini.com. Por lo tanto, desde qualquier lugar de Internet puedo hacer "ssh root@el_meu_domini.com" para abrir un shell.]

  • Venus: Es troba dins d'una WAN, no hi ha cap redirecció de ports (port forwarding) des del gateway que li dóna sortida a Internet. Per tant no hi podem accedir des de fora, col·loquialment en diem que "està firewalled". Aquest és l'ordinador al que hi volem poder accedir-hi amb un ssh des de Mart.

    [Se encuentra dentro de una WAN, no hay ninguna redireccion de puertos (port forwarding) desde el gateway que le da salida a Internet. Por lo tanto, no podemos acceder desde fuera, coloquialmente decimos que "esta firewalled". Este es el ordenador al que queremos poder acceder con ssh desde Mart.]

Des de Venus podem accedir a qualsevol lloc d'Internet, per exemple podem obrir un ssh a Mart. Des de Mart també podem accedir a qualsevol lloc d'Internet però no a Venus, ni molt menys obrir un ssh a Venus, que és el que volem.

[Desde Venus podemos acceder a cualquier lugar de Internet, por ejemplo podemos abrir un ssh a Mart. Desde Mart tambien podemos acceder a qualquier lugar de Internet pero no a Venus, ni mucho menos abrir un ssh a Venus, que es lo que queremos.]

La manera més fàcil de solucionar-ho seria redireccionar un port del gateway (que fa servir Venus per sortir a Internet) cap a Venus. Això no és de moment possible per raons que no venen al cas. Així que buscarem una solució alternativa aprofitant que tenim Mart. Aquest sistema només és factible si tenim un altre ordinador com Mart, que estigui a Internet amb al menys un port accessible.

[El modo mas facil de solucionarlo seria redireccionar un puerto del gateway (que usa Venus para salir a Internet) hacia Venus. Esto de momento no es posible por varias razones. Buscaremos una solucion alternativa aprovechando que tenemos Mart. Este sistema solo es factible si tenemos otro ordenador como MArt, que este en Internet con al menos un puerto accesible.]



La Solució

[La Solucion]

El primer serà el de crear un túnel ssh invertit (reverse ssh) entre Venus i Mart. El que fem es deixar un túnel ssh obert entre els dos ordinadors, aquest túnel s'ha d'executar des de Venus. Recordeu que des de Mart no ho podem fer, Venus no és accessible des de Internet.

[Lo primero sera crear un tunel ssh inverso entre Venus y Mart. Lo que hacemos es dejar un tunel ssh abierto entre los dos ordenadores, este tunel se tiene que ejecutar desde Venus. Recordad que desde Mart no lo podemos hacer, Venus no es accesible desde Internet.]

Per establir un túnel ssh invertit, hem d'especificar l'usuari sota el que correrà el túnel a Mart. En el meu cas he creat un nou usuari a Mart, aquest nou usuari tunelssh només el tindré per això. Es una mania meva, el túnel el podeu establir amb qualsevol usuari ja existent de Mart.

[Para establecer un tunel ssh inverso, tenemos que especificar el usuario bajo el que correra el tunel en Mart. En mi caso he creado un nuevo usuario en Mart, este nuevo usuario tunelssh solo lo voy a tener para esto. Es una mania mia, el tunel lo podeis establecer con qualquier usuario ya existente en Mart.]

joan@venus ~ $ ssh -l tunelssh -R 22000:localhost:22 -f -N el_meu_domini.com

Ens demanarà el password de l'usuari tunelssh, una vegada l'hem entrat ja tenim el túnel ssh invertit preparat per a fer servir. Al establir una connexió amb el port 22000 de Mart, la conexió s'inverteix i redirigeix cap a Venus. En comptes de fer servir el port 22000 pots fer-ho amb el que vulguis. Ara des de Mart ja podem accedir a Venus amb:

[Nos pedira el password del usuario tunelssh, una vez se lo hayamos dado ya tendremos el tunel ssh inverso listo para usar. Al establecer una conexion con el puerto 22000 de Mart, la conexion se invierte y redirige hacia Venus. En vez de usar el puerto 22000 lo podeis hacer con el que querais. Ahora desde Mart ya podemos acceder a Venus con:]

root@mart ~ $ ssh -p 22000 joan@localhost

En aquest punt poden passar dues coses. Una és que ens pregunti el password de root de Venus i l'invent funcioni correctament, i l'altre és que ens doni un error: "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!". Això és degut a que el fingerprint de les claus RSA que estan guardades a ~/.ssh/known_hosts, estan associades a un host. Quan l'error surt vol dir que teniu guardat un fingerprint associat a root@localhost, i que no és el mateix al que ara rep. No és el mateix perquè ara estem fent trampa, hem rebut el fingerprint de root@venus i es pensa que és el de root@localhost (recordem que estem a Mart). Això ho podem solucionar de varies maneres, la que crec que és més fàcil és editar /etc/hosts i en la línea on tinguem:

[Aqui pueden pasar dos cosas. Una es que nos pregunte por el password de root en Venus i el invento funcione correctamente, la otra es que tengamos el error: "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!". Esto es debido a que el fingerprint de las llaves RSA que estan guardadas en ~/.ssh/known_hosts, estan asociadas a un host. Cuando tebemos este error quiere decir que tenemos guardado un fingerprint associado a root@localhost, i que no el mismo que acaba de recibir. No es el mismo porque estamos haciendo trampa, hemos recibido un fingerprint de root@venus i el cree que es el de root@localhost (recrodemos que estamos en Mart). Esto lo podemos solucionar de varios modos, el que creo mas facil es editar /etc/hosts y en la linea donde tengamos:]

127.0.0.1       localhost

Modificar-la per:

[La modificamos por:]

127.0.0.1       localhost venus

Ara ja podem fer:

[Ahora ya podemos hacer:]

root@mart ~ $ ssh -p 22000 joan@venus

Amb això ens guardarà el fingerprint de venus amb el nom de venus, i si mai hem de fer un ssh a localhost per la raó que sigui, no ens donarà cap problema. El ssh es pot executar des de qualsevol usuari de Mart cap a qualsevol usuari de Venus.

[Con esto nos guardara el fingerprint de venus con el nombre de venus, i si alguna vez tenemos que hacer ssh a localhost, no tendremos ningun problema. El ssh se puede ejecutar desde cualquier usuario de Mart hacia cualquier usuario de Venus.]



Automatitzant-ho

[Automatizandolo]

Ja sabem com iniciar el túnel ssh invertit manualment. Això de fet no ens serveix de gran cosa ja que pot marxar la corrent, tallar-se la connexió uns minuts, etc. Llavors ens quedem sense túnel i no podem accedir des de Mart a Venus. Hauríem de desplaçar-nos físicament a Venus i executar el túnel de nou. Hem de fer un script que contínuament comprovi l'estat del túnel i el reinicialitzi en cas de que es perdi.

[Ya sabemos como iniciar el tunel manualmente. Esto no nos sirve de mucho ya que si se corta la conexion nos quedaremos sin tunel y no podremos acceder desde Mart a Venus. Nos tendriamos que desplazar fisicamente a Venus i ejecutar un nuevo tunel. Tenemos que hacer un script que continuamente compruebe el estado del tunel y lo reinicialize en caso que se desconecte.]

Aquí ens trobem amb un petit problema, que és com ens autentiquem per establir el túnel. Ssh ja esta preparat per això, generarem un parell de claus RSA pública/privada. La creació de claus es pot fer a l'ordinador que vulguem, seguint el meu cas:

[Aqui tenemos un pequeño problema, que es como autenticarnos para establecer el tunel. Ssh ya esta preparado para esto, generaremos un par de llaves RSA publica/privada. La creacion de llaves la podemos hacer en el ordenador que queramos, siguiendo mi caso:]

tunnelssh@mart ~ $  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): clau1
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in clau1.
Your public key has been saved in clau1.pub.
The key fingerprint is:
a6:63:a7:3e:7d:17:42:83:b2:85:79:ef:44:e8:89:67 tunnelssh@mart
tunnelssh @mart ~ $ ll clau1*
-rw-------    1 tunnelssh     tunnelssh          887 dec 31 12:00 clau1
-rw-r--r--    1 tunnelssh     tunnelssh          234 dec 31 12:00 clau1.pub
tunnelssh @mart ~ $

Ara ja tenim el parell de claus. La clau pública (clau1.pub) s'ha d'afegir als fitxer ~/.ssh/known_hosts del usuari sota el que s'executarà el túnel a l'ordinador que te el port 22 obert a Internet. En el nostre cas es l'usuari tunelssh de Mart:

[Ahora ya tenemos las llaves. La llave publica (clau1.pub) se tiene que añadir al fichero ~/.ssh/known_hosts del usuario bajo el que se ejecute el tunel en el ordenador que tenga el puerto 22 abierto a Internet. En nuestro caso es el usuario tunelssh de Mart:]

tunnelssh@mart ~ $ cat clau1.pub >> ~/.ssh/known_hosts

La clau privada (clau1) s'ha de guardar en algun lloc de l'ordinador que està firewalled on l'usuari que executi el script hi tingui accés. Es important que el fitxer de clau privada sigui només accessible per el usuari propietari del fitxer, si no li fem el chmod el ssh ens ho demanarà així quan intentem establir el túnel. Seguint el nostre cas:

[ La llave privada (clau1) se tiene que guardar en algun lugar del ordenador que esta firewalled donde el usuario que ejecute el script pueda acceder. Es importante que el fichero de llave privada solo sea accesible para el usuario propietario del fichero, si no ssh nos lo exigira por razones de seguridad cuando intentemos establecer el tunel. Siguiendo nuestro caso:]

joan@venus ~ $ scp tunelssh@el_meu_domini.com:clau1 .
tunelssh@mart's password:
clau1                100% |*****************************|    887       00:00
joan@venus ~ $ ll clau1
-rw-r--r--    1 joan     joan           887 dec 31 12:10 clau1
joan@venus ~ $ chmod 600 clau1
joan@venus ~ $ ll clau1
-rw-------    1 joan     joan           887 dec 31 12:10 clau1
joan@venus ~ $

Ara ja ho podem provar-ho, abans hem de pensar en eliminar el túnel que haguem obert prèviament si és que ho hem fet, trobarem el túnel executant:

[Ya lo podemos probar, tenemos que acordarnos de eliminar el tunel abierto anteriormente si es que lo hemos hecho, encontraremos el tunel con:]

joan@venus ~ $ ps x | grep 22000:localhost:22

Eliminem (kill) el túnel i provem d'establir-ne un de nou sense tenir que autenticar-nos:

[Eliminamos (kill) el tunel y probamos de establecer uno nuevo sin tener que autenticarnos:]

joan@venus ~ $ ssh -i ~/clau1 -l tunelssh -R 22000:localhost:22 -f -N el_meu_domini.com

Si ho hem fet tot bé, hem obert el túnel sense tenir que escriure el password. Ara només ens cal fer un script i posar-lo al crontab per comprovar el túnel amb la freqüència que vulguem:

[Si lo hemos hecho todo bien, hemos abierto el tunel sin tener que escribir el password. Ahora solo tenemos que hacer un script i ponerlo en el crontab para comprobar el tunel con la frequencia que queramos:]

#!/usr/bin/perl -w
if ( `ps x | grep 22000:localhost:22 | grep -v grep` ) {
        print "Tunel SSH en funcionament! \n";
        } else {
        print "Establint tunel SSH ... \n";
        system("ssh -i ~/clau1 -l tunelssh -R 22000:localhost:22 -f -N el_meu_domini.com ");
};

Aquest script està tret d'aqui , només hi he afegit l'autenticació.

[Este script lo he sacado de aqui , solo le he añadido la autenticacion.]

Ja estem. Podem accedir a Venus des de Mart, i com que a Mart hi podem accedir des de qualsevol punt de Internet, Venus és accessible des de qualsevol lloc d'Internet. L'únic inconvenient d'aquest sistema és que necessitem d'un altre ordinador com Mart que estigui accessible per Internet sempre per a poder establir el túnel ssh invertit. Espero que no us hagueu marejat en tot aquest viatje interplanetari ;-)

[Hemos acabado. Podemos acceder a Venus desde Mart, y como que podemos acceder a Mart desde cualquier punto de Internet, Venus tambien es accesible desde cualquier lugar. El unico inconveniente de este sistema es que necesitamos otro ordenador como Mart que este accesible siempre por Internet para poder establecer el tunel ssh inverso. Espero que no os esteis mareados con este viaje interplanetario ;-)]



Com ja he dit abans, la totalitat del aquí exposat s'ha extret de:

[Como ya he dicho antes, la totalidad de lo aqui expuesto lo he sacado de:]

http://www.colug.net/pipermail/colug/2003-October/009006.html
http://www.cs.umd.edu/~arun/misc/ssh.html
http://www.afp548.com/Articles/security/ssh-tunnels.html

Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
Es posible que se hayan omitido algunos comentarios considerados poco constructivos
1.  Re: Túnel SSH invertit (reverse SSH) (07/01/2004 18:40, #19035)
  Por: Anònim
Un article fantàstic, gràcies.

 
2.  Ya es casualidad (07/01/2004 20:46, #19042)
  Por: Anónimo
Justo venia yo en el coche pensando que tenia que averiguar como se hacia esto, apuntate unas cañas de mi parte.

 
3.  Re: Túnel SSH invertit - [Tunel SSH inverso] (07/01/2004 23:48, #19046)
  Por: Anónimo
Gran articulo, havia hecho tunel ssh no inverso como la gran mayoria, ademas esta explicado fenomenalmente. Un saludo

 
4.  Re: Túnel SSH invertit - [Tunel SSH inverso] (08/01/2004 10:15, #19056)
  Por: teleyinex (http://www.sleon.org)
Qué diferencia hay con respecto a poner el servidor ssh que tienes inaccesible en el puerto 22 al puerto 22000? Yo en casa tampoco puedo usar el puerto 22 porque mi isp me tiene chapado los well known ports. Entonces lo que hago es arrancar el sshd en un puerto superior y andando, en este caso el 22000 de esta forma puedo acceder siempre desde Internet a mi máquina.

Igual no he entendido el artículo.

 
5.  Re: Túnel SSH invertit - [Tunel SSH inverso] (08/01/2004 11:29, #19057)
  Por: Anónimo
No lo has entendido. El problema surge cuando quieres realizar un ssh a una maquina para la cual no tienes ruta directa. Osea, no hay manera posible de realizar un ssh de A --> B por que hay un firewall que prohibe todas las conexiones entrantes de ssh a B. Lo que explica el articulo es realizar la conexion saliente (que eso si es posible)osea de B --> A realizando asi un tunel por el que entrara la verdadera conexion ssh. puff, no se si me he explicado. Saludos.

 
6.  Re: Túnel SSH invertit - [Tunel SSH inverso] (08/01/2004 13:11, #19059)
  Por: Anònim
Desde internet no se puede acceder a ningun puerto de Venus. Lo que se hace es abrir un tunel entre el puerto 22 de Venus y el 22000 de Mart. Si en Mart abrimos un ssh a su puerto 22000, este ssh se redirige a traves del tunel al puerto 22 de Venus, estamos abriendo un ssh en Venus.

Lo que este articulo cuenta es como poder acceder por ssh a un ordenador que tiene todas las "conexiones entrantes" bloqueadas. A ver si a alguien se le ocurre un modo mas claro de expresarlo.

 
7.  Re: Túnel SSH invertit - [Tunel SSH inverso] (08/01/2004 15:37, #19062)
  Por: Andreu (http://annys.eines.info/raims)
Un exemple que se m'acudeix: Venus està connectat a una ADSL, però no podem accedir al router perquè està protegit amb contrasenya que no és adminttd i no sabem. Per tant, no podem configurar el NAPT al port 22 de la IP interna de venus. Ara?

 
8.  El símil del teléfono (08/01/2004 18:47, #19068)
  Por: thibaut

A ver si esto ayuda: Venus es un teléfono que puede hacer todas las llamadas que quiera pero que no puede recibir llamadas (algo así como si nadie supiera su número, y la única forma de hablar con Venus es que él mismo te llame). Así, como desde Marte no puedes llamar a Venus (nadie puede), haces que Venus llame a Marte y «no cuelgue», para que cuando Marte quiera hablar pueda hacerlo.


 
9.  Re: Túnel SSH invertit - [Tunel SSH inverso] (09/01/2004 10:03, #19076)
  Por: teleyinex (http://www.sleon.org)
Gracias a todos. Con los dos primeros ejemplos me llegaba. Ahora ya lo entiendo. Buen artículo entonces, lo voy a usar a partir de ahora.

 
10.  Para la slack (08/01/2004 22:48, #19071)
  Por: Sassin
Buenas.

Puede surgir un problema si el ssh esta compilado sin tcp-wrappers, venus cerraria la conexion cuando esta se abriese desde marte.

La solucion, que yo sepa, recompilar.

Saludos.

 
11.  Para la slack no (08/01/2004 23:30, #19072)
  Por: Sassin
Vaya, meti la gamba con el titulo (que tampoco era la intencion poner ese, pero bueno). Lo que no traia la slack era AUTH_BSD, S/KEY, y PAM, por motivos de seguridad (la salvo del bug famoso de Remote Challenge).

Saludos.

 
12.  Re: Túnel SSH invertit - [Tunel SSH inverso] (09/01/2004 01:01, #19074)
  Por: Skarabeus
No seria mas "ligerito" hacer un rsh o un telnet a traves del tunel?

lo digo porque sino hay doble carga de encriptación
la del tunel ssh y la de la sesion ssh.

Salut.

 
13.  Re: Túnel SSH invertit - [Tunel SSH inverso] (11/01/2004 04:08, #19105)
  Por: Anònim
exacto!!!
Se puede hacer al puerto 23 i un telnet
O al puerto 21 i un ftp ...

 
14.  Hay que ver sobre HTTP (09/01/2004 03:23, #19075)
  Por: GomoX (http://www.gomox.com.ar)
Casualmente necesitaba esto mismo para hacer una salida desde el PC de mi viejo en su trabajo hasta mi casa. Tengo un router NAT configurable a gusto aquí, pero el esta detrás de un proxy HTTP. Voy a ver como se podría montar esto sobre un httptunnel (ya me he conectado por SSH con el y anda perfectamente).

Saludos ;)

 
15.  Re: Túnel SSH invertit - [Tunel SSH inverso] (09/01/2004 11:12, #19077)
  Por: 4lex (http://www.uv.es/~gaita)
¡Tremendo!
¡Enorme!
Cuán útil, y cuán bien -y sencillamente- explicado :)

Mira que me suelo leer los artículos de Bulma, y algunos me parecen interesantes, pero no recuerdo ninguno que me diera tanto servicio con *tan poco esfuerzo*.

Muchísimas gracias, ¡ssh rulez!

Alex

 
16.  Como agua de mayo (09/01/2004 11:29, #19078)
  Por: vejeta (http://vejeta.hn.org)
Precisamente ayer estuve buscando información al respecto, y hoy encuentro este artículo en bulma. Me va ahorrar trabajo de investigación. Muchisimas gracias al autor por el esfuerzo de escribir el articulo.


Esta era una de las asignaturas pendientes que tengo. Aunque en mi caso creo que lo que necesito es hacer un tunel ssh ¿directo? desde la máquina del trabajo que está tras un proxy que permite conexiones http y https unicamente (puertos 80 y 443 si no me equivoco) hasta la máquina linux de mi casa.

Acepto indicaciones.

 
17.  Re: Como agua de mayo (09/01/2004 13:34, #19081)
  Por: Anònim
Por lo que dices, parece que en tu caso Venus seria la maquina del trabajo, y Mart la de tu casa.

 
18.  Re: Como agua de mayo (09/01/2004 14:15, #19083)
  Por: vejeta (http://vejeta.hn.org)
* El caso de Joan era:

Mart(Linux) --ssh---| FW |-- Venus (Linux)

Venus tiene el firewall, y quería conectar de Marte a Venus.


* Efectivamente, en mi caso, utilizando la nomenclatura que comentas, Venus estaría el trabajo y tras el proxy.

Mart(Linux) ---ssh--| Proxy |-- Venus(Win$2k)

Quiero conectar de Venus a Marte.

Me parece que la solución pasa por montar algo en un puerto de casa, quizás el 80 o el 443.
Tampoco sé que tendría que ejecutar exactamente con el putty o similar en el trabajo.

Saludos

 
19.  Lo conseguí (12/01/2004 11:46, #19122)
  Por: vejeta (http://vejeta.hn.org)
Para crear un tunel a traves de un http proxy.

* En casa. Una máquina con acceso total a internet.

1. Instalar GNU httptunnel

apt-get install httptunnel

2. Crear el tunel del lado del servidor. Las peticiones que lleguen al puerto 443 (El del https) se enviaran al puerto 22 (El del ssh).


hts -F localhost:22 443

* En el trabajo, una máquina tras un proxy http que requiere "autentificación".

1. Bajas los binarios para windows de:

http://www.nocrew.org/software/httptunnel.html

2. Creas el tunel del lado del cliente con:

htc -F 9999 -A usuarioproxy:passwordproxy -P el.proxy.del.trabajo:8080 maquina.en.micasa:443

Con esto tenemos el tunel creado y con un puerto escuchando en el 9999.

3. Ahora necesitamos un cliente de ssh, como por ejemplo, el putty,

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

para conectarnos desde la máquina del trabajo al tunel que hemos creado. Los conectariamos a localhost 9999.
En putty esto se hace en la pestaña "Session" y poniendo como host localhost y como Port 9999.


PD: En resumen:
El putty cree que se conecta a localhost, puerto 9999.

El proxy cree que te conectas a maquina.en.micasa, puerto 443 - una conexión https normal y corriente.

Y en realidad acabas conectandote al puerto 22 de mauina.en.micasa. Una sesión ssh con todas las de la ley.

 
20.  Re: Túnel SSH invertit - [Tunel SSH inverso] (09/01/2004 12:27, #19079)
  Por: NeCrOS (http://www.reuswireless.net)
Buen artículo.


 
21.  Una solucion pintoresca, para problemas absurdos (13/01/2004 09:54, #19135)
  Por: Anònim
Bueno que nadie se me eche encima o me llame loco

Voy a proponer una soluciona al siguiente problema.
Imagina que tenemos un maquina con un servicio que solo queremos abrir de forma temporal en ciertos momentos para poder acceder de forma remota a este servicio (por ejemplo sshd)

El problema es como activar/desactivar el servicio de forma remota

La solucion pasa para poner un proceso de escucha de icmps en la maquina del servicio en cuestion. Este proceso (icmp-watcher) se encuentra a la escucha de todos los paquetes icmp que entran en la maquina i realiza el testeo de tiempos entre paquetes y tamños de paquetes, este proceso tiene asociado un fichero de configuracion con las acciones a realizar en caso del matching con alguna combinacion de tiempos/tamaño de icmp

La maquina remota realiza comandos de este tipo para activar un servicio que se encuentra relacionado con un patron determinado:

ping -c 2 -s 1024 ip_maquina_con_servicio
ping -c 1 -s 2048 ip_maquina_con_servicio
ping -c 4 -s 512 ip_maquina_con_servicio

La maquina del servicio analiza el patron de icmps del mismo origen con un tiempo menor por ejemplo a 10 segundos, y busca en el fichero de configuracion el matching con algun patron, entonces realiza la ejecucion del servicio asociado

Tambien podriamos codificar los 256 codigos ascii con un rango de tamaños para passar datos

Bueno , saludos


 
22.  Re: Una solucion pintoresca, para problemas absurdos (18/01/2004 01:31, #19218)
  Por: Skarabeus
Pero sigues teniendo un problema ... si la maquina
esta detras de un cortafuegos o un router, puede que no reciba los pings y por lo tanto no pueda activar el servicio.

Otra opcion podria ser la recepcion de instrucciones
por e-mail, utilizando por ejemplo el fetchmail.

P. Ej.

Enviando un mail con un subject "especial" y en el cuerpo
una instruccion como:

ssh tunel@host -L xxx:xxx:xxx

podriamos lanzar el tunel "a la carta" y contra el host que nos convenga en ese momento.

Ni que decir tiene que el mail debe ir firmado y requetefirmado para impedir que alguien nos inyecte instrucciones en nuestra maquina.


Salut.

 
23.  Re: Túnel SSH invertit - [Tunel SSH inverso] (16/01/2004 22:22, #19210)
  Por: Anònim
p.u_t_a madre, tio

 
24.  Re: Túnel SSH invertit - [Tunel SSH inverso] (22/01/2004 01:44, #19270)
  Por: Anonimo cojones!
Aquí me falta una cosa. Si la ip del cliente es dinámicas existe un problema. La solución es muy facil, y cualquiera que haya jugado de pequeñín con troyanos y demas juguetitos sabrá como se soluciona.
El caso, es que muchos troyanos contaminaban a ips variables, la gente lo sabía y reiniciaba, pero iban mejorando y se hicieron modulares. Acabaron con módulos para el msn, icq, mail, que te notificaban en el correo/icq/mail la nueva ip.
Creo que no sería muy dificil, hacer un pequeño script, que ante la llegada de un correo/mensaje del jabber/messager/icq, el servidor, se conectase al cliente. Es más, me estrañaría que no existiese yá.

 
25.  Es Posible concatenar varios tuneles (25/01/2004 11:47, #19380)
  Por: Anónimo
Me gustaria saber si es posible concatenar varios tuneles de una forma sencilla, para exportar las X.

Es decir A --- B --- C
Desde A tengo acceso a B
desde B tengo acesso a C
desde A no hay acceso a C y de C a A

En modo texto es para tonto.
Pero exportando las X?

Gracias

 
26.  Re: Es Posible concatenar varios tuneles (13/05/2004 09:54, #21227)
  Por: Anònim
me gustaria que me explicaras como conseguir enlazar esos tuneles en modo texto, pues yo he sido incapaz y también si pudieras decirme como hacerlo en modo inverso, gracias

 
27.  Traducirlo al Español (30/04/2004 04:43, #20974)
  Por: Anónimo
Hola, hay la posibilidad de que traduscan varios de sus excelentes articulos del catalan al español. Gracias

 
28.  Re: Túnel SSH invertit - [Tunel SSH inverso] (17/08/2004 22:34, #22848)
  Por: Anònim
Yo tengo un problema un pokito diferente...

Tengo una computadora en la oficina (llamada CPU1) y otra en mi casa (llamada CPU2).

CPU1 como pueden adivinar esta tras un proxy (que autentifica usuarios) y tiene GUIN XP, ademas tiene los puertos cerrados ya que nisiquiera puedo leer correo POP3 (auqnue lo de los puertos cerrados es conjetura mia).

CPU2 tiene GUIN XP por el momento (ya que la familia recien se esta acostumbrando a utilizar Slackware 10) ADSL y tengo un router Zyxel 643 (en otras palabras la puedo administrar por completo).

Lo que deseo es poder ver desde la oficina la makina de mi casa (via VNC de preferencia) luego poder hacer (mas adelante) una VPN (y si es posible hasta poder utilizar mensajeria instantanea desde mi oficina, que tiene este puerto cerrado)

Como ven pido poco (sarcasmo).

Mi primera idea (ingenuo yo) fue levantar mi servidor VNC (en mi casa CPU1) y configurarlo en un puerto abierto en mi oficina (el 80 por ejemplo), pero para mi sorpresa esto se puede hacer en el servidor pero el cliente no tiene nada por el estilo.

Por lo que investigando en Google me di con lo de hacer un tunel HTTP con ssh y vnc. Lo malo es que todo esta para Linux y no explican detalladamente los pasos a realizar...

Si alguien me ayuda con esto le estaria enormemente agradecido. . .
Recuerden que los puertos en mi oficina no estan libres, por lo que supongo no puedo utilizar cualquier puerto. Un Scaneo a mi Proxy me dio esto:

Start scanning
10.1.1.13 :25 smtp mail
10.1.1.13 :53 domain nameserver
10.1.1.13 :110 pop3
postoffice 10.1.1.13 :80 www-http World Wide Web HTTP
Finished scanning

Mi ADSL me da IP dinamicas pero puedo conseguirlas cada vez k reinicie mi PC asi k ese no es problema, la conf del router la se hacer (si me dicen k kieren k haga claro ta)

 
29.  Re: Túnel SSH invertit - [Tunel SSH inverso] (31/03/2005 01:31, #26008)
  Por: Anónimo
metete un dedo en el culo, para descular el fw

 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 25
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves.
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 30/4/2009 01:06:24 | Tiempo Total: 0.075 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 02/09/2010 20:07 CEST
Powered by Apache    MySQL    PHP    Gimp