Como Crear Un Túnel Inverso O Reverso De SSH

A veces que necesitamos conectarnos vía SSH a otra computadora nos encontramos con que esta computadora no cuenta con una dirección que podamos utilizar para conectarnos a ella, o bien se encuentra tras un muro de fuego que no permite el acceso. En estos casos, un túnel reverso de SSH nos permite trabajar alrededor de esta limitación.

Computadora Internet

En una conexión normal de SSH se conoce la dirección de la computadora de destino y se establece una conexión directa.
En una conexión normal de SSH se conecta directamente la computadora A con la computadora B.

Una conexión normal de SSH es sencilla. Tenemos el nombre de usuario y la dirección de la computadora a la que queremos conectarnos, ya sea una dirección de IP o un dominio, y se establece una conexión directa. El problema llega cuando no conocemos o no tenemos acceso a la dirección de la computadora destino (B) y nuestra computadora tampoco cuenta con una dirección accesible.

En estos casos, si contamos con una computadora con SSH habilitado y una dirección conocida, podemos utilizarla como un puente hacia la computadora que deseamos. Esta computadora simplemente actúa como mediadora entre ambas computadoras. La computadora a la que deseamos conectarnos (B) establece una dirección hacia la computadora mediadora (C) que nosotros utilizamos desde nuestra computadora (A).

En una conexión reversa de SSH se desconoce la dirección de la computadora B, por lo A utiliza una computadora con una dirección conocida C, para mediante esta alcanzar la computadora B.
En una conexión reversa de SSH se desconoce la dirección de la computadora B, por lo que A utiliza una computadora con una dirección conocida como mediadora.
  1. Se establece una conexión desde la computadora a la que queremos acceder (B) hacia la computadora con una dirección conocida (C) que actuará como mediadora. Utilizamos el parámetro -R para permitir el tunel reverso de SSH:ssh -R 61999:localhost:22 usuario_c@computador_c

    El primer número (61999) indica que puerto usaremos en “A” para conectarnos a “B” una vez que “A” se encuentre conectada a “C”. localhost es el nombre de dominio que utilizaremos para esto mismo, y el último número (22) indica en que puerto esta “B” escuchando SSH.

  2. Se establece una conexión normal desde nuestra computadora (A) a la computadora mediadora (C).ssh usuario_c@computador_c
  3. Una vez conectados a la computadora mediadora (C), establecemos una conexión a la computadora que deseamos (B) desde nuestra computadora principal (A), utilizando el puerto que usamos en el primer comando, el usuario de la computadora destino (B) y localhost:ssh -p 61999 usuario_b@localhost

Y listo, estamos conectados vía SSH desde la computadora “A” a la computadora “B”. Si la dirección de nuestra computadora “A” es conocida y accesible, podemos crear el túnel reverso de SSH directamente desde la computadora “B” hacia la computadora “A”.

5 Increíbles Programas De Terminal En Linux

Para aquellos fanáticos de la terminal de Linux, hoy les traigo algunas aplicaciones que pueden ejecutarse directamente desde ésta. Personalmente, uso la mayoría, ya que las encuentro bastante útiles. 

Y pues, además de ser útiles… Son, digamos que… Especiales.

 

 

AlsaMixer 

 

Ya lo tienes instalado, solo que probablemente no lo sabías. Éste hace todo lo que los controladores de volumen gráficos hacen; solo que está desde la terminal. Configura el volumen, controla interruptores 3D, volumen de audio de CD y puertos.  Se maneja con las flechas “arriba” y “abajo” y la letra M para darle “mute” a un canal.

A mi parece útil, ya que es efectivamente rápido de usar, no necesitas utilizar ninguna clase de comandos y toma muy poco espacio. Para abrir el programa, simplemente pon en tu terminal:

alsamixer

 

iKog

Cuando de agendas, notas personales y diario se trata, iKog es mi preferido. Me fascina por su efectividad y minimalismo, siendo  genial porque te permite escribir notas normales o cifradas con password, clasificarlas por prioridad y organizarlas por fechas.

Éste programa funciona con python. Para ver su  instalación y funcionamiento, leer –> Aquí.

 

MC (Midnight Commander)

El Midnight Commander (MC) es la versión GNU del Norton Commander (creado por Peter Norton en los 80s). Un gestor de ficheros ortodoxo para sistemas Unix.

Funciona en modo de texto y la pantalla principal consiste en dos paneles en los que se muestra todo. Se puede navegar mediante las teclas de cursor. También están las teclas de función que realizan tareas tales como borrar, renombrar, editar, copiar, etc.

Para instalarlo, simplemente sigue las instrucciones después de escribir en tu terminal el siguiente comando:

sudo apt-get install mc

 

Mutt

Cuando se trata de e-mails, Mutt es un excelente cliente de mensajería, controlado directamente desde la interfaz de la terminal. Para descargarlo, simplemente escribe desde tu terminal:

sudo apt-get install mutt

No es para principiantes. Hay unas cuantas cosas que configurar en el archivo /etc/muttrc, por ejemplo, el IMAP y SMTP. Sin embargo, una vez que está todo configurado, se pueden recibir y enviar correos de texto sin problemas.

Mutt no es para todos; pero con seguridad, algunos lo encontrarán como su cliente preferido para e-mails. Yo personalmente, pienso que es super cool.

 

Finch  (Pidgin desde la terminal)

¿No crees que casi todo sea posible de llevar a cabo desde la terminal? ¡También Pidgin!

Mediante éste programa de la terminal, puedes chatear con las mismas herramientas y caracteristicas del Pidgin gráfico (incluyendo la realización de llamadas), solo que no se ve tan bonito y está lleno de comandos, los cuales en su mayoría consisten de  las teclas Alt y Ctrl. Así que olvídate del mouse. 

Para instalarlo, simplemente escribe en tu terminal:

sudo apt-get install finch

Para ver el menú principal dale Alt+A y de allí puedes escoger y configurar tu cuenta en “Accounts”.

 ¿Listo para experimentar con éstos prógramas de terminal?