{"id":351,"date":"2011-01-06T17:49:17","date_gmt":"2011-01-06T22:49:17","guid":{"rendered":"https:\/\/rafael.bonifaz.ec\/blog\/?p=351"},"modified":"2011-01-06T17:58:57","modified_gmt":"2011-01-06T22:58:57","slug":"tuneles-ssh-parte-1","status":"publish","type":"post","link":"https:\/\/rafael.bonifaz.ec\/blog\/2011\/01\/tuneles-ssh-parte-1\/","title":{"rendered":"T\u00faneles SSH (parte 1)"},"content":{"rendered":"<p>Durante mucho tiempo utilice GNU\/Linux y ssh a diario, pero me tomo tiempo darme cuenta de la utilidad de los tuneles ssh. Es una herramienta super pr\u00e1ctica que espero ilustrar su uso con este art\u00edculo. A mi cuando me explicaron no entend\u00ed para que me iba a servir, pero con unos ejemplos creo que es m\u00e1s f\u00e1cil entender.<\/p>\n<p>B\u00e1sicamente un tunel ssh sirve para acceder a un servicio remoto a trav\u00e9s de un canal ssh. As\u00ed utilizando ssh podr\u00edamos hacer cosas como acceder a un servidor smtp que suele estar bloqueado por proveedores de Internet. Se podr\u00eda compartir un recurso de mi m\u00e1quina local con ip privado al mundo a trav\u00e9s de Internet. En fin se puede hacer much\u00edsimo m\u00e1s que esto y ojal\u00e1 por ah\u00ed comparta alguna otra experiencia interesante.<\/p>\n<p>Redirigir un puerto remoto a mi red local<\/p>\n<p>Para ilustrar esta idea voy poner allgunos ejemplos hipot\u00e9ticos:<\/p>\n<h3>Ejemplo #1: Acceder a un pop3 bloqueado<\/h3>\n<p>Supongamos que usted tiene acceso a Internet y el proveedor de Internet tiene bloqueado el puerto 25. Necesita enviar un correo de urgencia, pero no lo puede hacer. Pues bien un tunel ssh es una soluci\u00f3n r\u00e1pida para solucionar este problema (siempre y cuando tenga un servidor donde pueda hacer ssh)<\/p>\n<p style=\"padding-left: 30px;\"><code>ssh -L 2525:localhost:25 usuario@servidorremoto.com<\/code><\/p>\n<p><!--more-->En esta l\u00ednea decimos que nos vamos a conectar al servidor <em>servidorremoto.com<\/em> con el usuario <em>usuario<\/em>. Una vez que estamos en ese servidor creamos un\u00a0t\u00fanel\u00a0para redirigir el puerto 25 local del servidor (<em>localhost<\/em>) en el puerto 2525 local de mi computador de escritorio. En otras palabras el puerto 25 remoto ahora ser\u00e1 accesible desde el puerto 2525 local de mi computadora. As\u00ed ya no estaremos bloqueados.<\/p>\n<p>Para poder enviar correos, configuramos nuestro smtp como localhost:2525 en nuestro cliente de correo preferido. El puerto 2525 es totalmente arbitrario. En general para hacer esto sin privilegios de administrador se deben usar puertos mayores a 1024.<\/p>\n<p>En este ejemplo asumimos que el servidor de correo es el mismo que el que estamos haciendo ssh, pero esto no es obligatorio. En lugar de <em>localhost<\/em> podr\u00edamos utilizar algo como <em>smtp.otroservidor.com<\/em>. (ver ejemplo 3)<\/p>\n<p>Para probar que la configuraci\u00f3n es correcta podemos usar telnet en nuestro computador de escritorio<\/p>\n<p style=\"padding-left: 30px;\"><code>telnet localhost 2525<br \/>\nTrying 127.0.0.1...<br \/>\nConnected to localhost.<br \/>\nEscape character is '^]'.<br \/>\n220 servidorremoto.com ESMTP Postfix<br \/>\ntelnet localhost 2525Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.220 servidorremoto.com ESMTP Postfix<\/code><\/p>\n<h3>Ejemplo 2: Acceder a un servidor web con ip privado desde Internet<\/h3>\n<p>Supongamos que usted necesita acceder a un servidor web privado en una Intranet desde el Internet. En este caso usted puede acceder como usuario sin privilegios a un servidor con ip p\u00fablica que puede ver al servidor web de la intranet con ip privada. En una red peque\u00f1a, esto podr\u00eda ser a trav\u00e9s del firewall.<\/p>\n<p>Entonces generamos el t\u00fanel<\/p>\n<p style=\"padding-left: 30px;\"><code>ssh -L 8080:10.10.10.30:80 usuario@servidorremoto.com<\/code><\/p>\n<p>En este caso el puerto 80 del servidor 10.10.10.30 estar\u00e1 accesible en m\u00e1quina local en el puerto 8080.<\/p>\n<p>Para probar abrimos un navegador web con la url http:\/\/localhost:8080<\/p>\n<h3>Ejemplo 3: comparta su conexi\u00f3n con otras m\u00e1quinas en la red.<\/h3>\n<p>En los 2 ejemplos anteriores creamos los tuneles ssh accesibles solo desde mi computador personal. Ahora bien, podr\u00edamos compartir los tuneles para la red local en la que me encuentro.<\/p>\n<p>En el primer ejemplo esto ser\u00eda \u00fatil si mi amigo que no tiene acceso a un servidor ssh necesita enviar un correo. Por ejemplo:<\/p>\n<p style=\"padding-left: 30px;\"><code>ssh -L 192.168.1.45:2525:smtp.remoto.com:25 usuario@servidorremoto.com<\/code><\/p>\n<p>En este caso ingresamos con el usuario usuario al servidor servidorremoto.com. Desde servidor nos conectamos al servidor smtp.remoto.com al puerto 25 y lo hacemos accesible en nuestro ip local 192.168.1.45 en el puerto 2525.<\/p>\n<p>Su amigo tendr\u00e1 que poner en su configuraci\u00f3n de smtp: 192.168.1.45:2525. Si tiene acceso de root en su m\u00e1quina local podr\u00eda configurar el puerto 25 para que su amigo no tenga que ver como cambiar de puerto en su cliente de correo.<\/p>\n<p>En el caso del servidor web (ejemplo 2), usted puede compartir a su amigo el acceso al servidor de la intranet.<\/p>\n<p style=\"padding-left: 30px;\"><code>ssh 192.168.1.45:8080:10.10.10.30:80 usuario@servidorremoto.com<\/code><\/p>\n<p>Listo ahora su amigo podr\u00e1 poner en su navegador web http:\/\/192.168.1.45:8080<\/p>\n<p>En la pr\u00f3xima entrega voy a explicar como hacer accesible un puerto local de mi computador de escritorio desde el Internet.<\/p>\n<h3 class='related_post_title'>Art\u00edculos relacionados<\/h3><ul class='related_post'><li><a href=\"https:\/\/rafael.bonifaz.ec\/blog\/2011\/01\/tuneles-ssh-parte-2\/\" title=\"T\u00faneles SSH (parte 2)\">T\u00faneles SSH (parte 2)<\/a><\/li><li><a href=\"https:\/\/rafael.bonifaz.ec\/blog\/2011\/01\/ssh-con-claves-publicas-y-privadas\/\" title=\"Ssh con claves P\u00fablicas y Privadas\">Ssh con claves P\u00fablicas y Privadas<\/a><\/li><li><a href=\"https:\/\/rafael.bonifaz.ec\/blog\/2015\/02\/acceder-a-un-computado-a-traves-de-tor-sin-ip-publico\/\" title=\"Acceder a un Computador a trav\u00e9s de Tor sin IP P\u00fablico\">Acceder a un Computador a trav\u00e9s de Tor sin IP P\u00fablico<\/a><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>Durante mucho tiempo utilice GNU\/Linux y ssh a diario, pero me tomo tiempo darme cuenta de la utilidad de los tuneles ssh. Es una herramienta super pr\u00e1ctica que espero ilustrar su uso con este art\u00edculo. A mi cuando me explicaron no entend\u00ed para que me iba a servir, pero con unos ejemplos creo que es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[70,1],"tags":[178,172,83,84],"class_list":["post-351","post","type-post","status-publish","format-standard","hentry","category-comos","category-general","tag-comos","tag-software-libre","tag-ssh","tag-tips"],"_links":{"self":[{"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/posts\/351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/comments?post=351"}],"version-history":[{"count":6,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/posts\/351\/revisions"}],"predecessor-version":[{"id":358,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/posts\/351\/revisions\/358"}],"wp:attachment":[{"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/media?parent=351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/categories?post=351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rafael.bonifaz.ec\/blog\/wp-json\/wp\/v2\/tags?post=351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}