Contact

c/ Orquídeas, 19,

Maracena, Granada

Conectar a un servidor a través de un túnel ssh (por consola y gráficamente)
17/01/2017 by Capy

Típico caso de uso: Mi cliente me pide una IP estática para añadirla a su firewall. Le doy la de un servidor que tengo por ahí ya que si le diera la IP de mi ordenador local la IP cambiaría día a día (cosas de los ISP).

Acto seguido cuando quiero conectarme al servidor de mi cliente primero tengo que conectarme por ssh a mi servidor y desde mi servidor recién me puedo conectar al servidor de mi cliente. Y ESTO ES ABURRIDO.

Necesidad

Quiero conectarme desde mi ordenador local al servidor de mi cliente sin tener que dar tantos pasos.

Solución

Voy a configurar mi SSH para que conecte en puente. Es mucho mas fácil de lo que parece:

Editas el archivo .ssh/config (está en tu carpeta de usuario en linux o Mac) y metes estas lineas al final:

Host dev
    HostName 178.12.10.10
    User capynet

Host cliente_dev
    User deploy
    HostName dev.micliente.com
    ProxyCommand ssh dev nc %h %p

NOTAS del código: ssh nos permite definir un alias de conexión y a continuación especificar la url a la que nos conectamos ("Hostname"), el usuario con e que nos conectamos ("User"), etc.

Funcionamiento

Guardas los cambios, abres una nueva consola y pruebas a escribir "ssh dev". Si todo fue bien vas a ver que te conectaste a tu servidor de desarrollo. Se acabó de andar haciendo "ssh capynet@178.12.10.10".

Lo anterior es solo un hint. Lo que queríamos y ahora podemos hacer es lo siguiente: Si haces "ssh cliente_dev" te vas a conectar directamente al servidor de tu cliente.

A que está genial? y eso no es todo. Si abres un nautilus (en Linux) y metes en la barra de direcciones (CTRL+L para verla) ssh://dev o ssh://cliente_dev vas a poder navegar por los directorios de forma gráfica.

Esto es todo!

Tags