Cómo utilizar el túnel SSH para acceder a servidores restringidos y navegar de forma segura

Un cliente SSH se conecta a un servidor Secure Shell, que le permite ejecutar comandos de terminal como si estuviera sentado frente a otro equipo. Pero un cliente SSH también le permite “tunelizar” un puerto entre su sistema local y un servidor SSH remoto.

Hay tres tipos diferentes de túneles SSH, y todos se utilizan para diferentes propósitos. Cada uno implica el uso de un servidor SSH para redirigir el tráfico de un puerto de red a otro. El tráfico se envía a través de la conexión SSH cifrada, por lo que no se puede monitorear ni modificar en tránsito.

Puede hacer esto con el ssh comando incluido en Linux, macOS y otros sistemas operativos similares a UNIX, y Puede crear un archivo de configuración SSH para guardar la configuración. En Windows, que no incluye un comando ssh incorporado, recomendamos la herramienta gratuita Masilla para conectarse a servidores SSH. También es compatible con la tunelización SSH.

Reenvío de puertos locales: haga que los recursos remotos sean accesibles en su sistema local

El “reenvío de puertos locales” le permite acceder a los recursos de la red local que no están expuestos a Internet. Por ejemplo, supongamos que desea acceder a un servidor de base de datos en su oficina desde su hogar. Por razones de seguridad, ese servidor de base de datos solo está configurado para aceptar conexiones de la red de la oficina local. Pero si tiene acceso a un servidor SSH en la oficina y ese servidor SSH permite conexiones desde fuera de la red de la oficina, puede conectarse a ese servidor SSH desde su casa y acceder al servidor de base de datos como si estuviera en la oficina. Este es a menudo el caso, ya que es más fácil proteger un solo servidor SSH contra ataques que proteger una variedad de recursos de red diferentes.

Para ello, establezca una conexión SSH con el servidor SSH y le indique al cliente que reenvíe el tráfico de un puerto específico desde su PC local (por ejemplo, el puerto 1234) a la dirección del servidor de la base de datos y su puerto en la red de la oficina. Por lo tanto, cuando intenta acceder al servidor de base de datos en el puerto 1234 de su PC actual, “localhost”, ese tráfico se “tuneliza” automáticamente a través de la conexión SSH y se envía al servidor de base de datos. El servidor SSH se encuentra en el medio, reenviando el tráfico de un lado a otro. Puede utilizar cualquier línea de comandos o herramienta gráfica para acceder al servidor de base de datos como si se estuviera ejecutando en su PC local.

Para utilizar el reenvío local, conéctese al servidor SSH normalmente, pero también proporcione el -L argumento. La sintaxis es:

ssh -L local_port:remote_address:remote_port username@server.com

Por ejemplo, supongamos que el servidor de base de datos de su oficina se encuentra en 192.168.1.111 en la red de la oficina. Tiene acceso al servidor SSH de la oficina en ssh.youroffice.com , y su cuenta de usuario en el servidor SSH es bob . En ese caso, su comando se vería así:

ssh -L 8888:192.168.1.111:1234 bob@ssh.youroffice.com

Después de ejecutar ese comando, podrá acceder al servidor de base de datos en el puerto 8888 en localhost. Por lo tanto, si el servidor de base de datos ofreciera acceso web, podría conectar http://localhost:8888 a su navegador web para acceder a él. Si tuviera una herramienta de línea de comandos que necesita la dirección de red de una base de datos, la apuntaría a localhost:8888. Todo el tráfico enviado al puerto 8888 de su PC se tunelizará a 192.168.1.111:1234 en la red de su oficina.

Es un poco más confuso si desea conectarse a una aplicación de servidor que se ejecuta en el mismo sistema que el propio servidor SSH. Por ejemplo, supongamos que tiene un servidor SSH ejecutándose en el puerto 22 de su equipo de oficina, pero también tiene un servidor de base de datos que se ejecuta en el puerto 1234 en el mismo sistema con la misma dirección. Desea acceder al servidor de base de datos desde casa, pero el sistema solo acepta conexiones SSH en el puerto 22 y su firewall no permite ninguna otra conexión externa.

En este caso, podría ejecutar un comando como el siguiente:

ssh -L 8888:localhost:1234 bob@ssh.youroffice.com

Cuando intente acceder al servidor de base de datos en el puerto 8888 de su PC actual, el tráfico se enviará a través de la conexión SSH. Cuando llegue al sistema que ejecuta el servidor SSH, el servidor SSH lo enviará al puerto 1234 en “localhost”, que es la misma PC que ejecuta el propio servidor SSH. Por lo tanto, el “localhost” en el comando anterior significa “localhost” desde la perspectiva del servidor remoto.

Para hacer esto en la aplicación PuTTY en Windows, seleccione Conexión > túneles SSH >. Seleccione la opción “Local”. En “Puerto de origen”, introduzca el puerto local. En “Destino”, introduzca la dirección de destino y el puerto con el formato remote_address:remote_port.

Por ejemplo, si desea configurar el mismo túnel SSH que el anterior, debe ingresar 8888 como puerto de origen y localhost:1234 como destino. Haga clic en “Agregar” después y luego haga clic en “Abrir” para abrir la conexión SSH. También deberá ingresar la dirección y el puerto del servidor SSH en tla pantalla principal de “Sesión” antes de conectarse, por supuesto.

Reenvío remoto de puertos: hacer que los recursos locales sean accesibles en un sistema remoto

El “reenvío remoto de puertos” es lo opuesto al reenvío local y no se usa con tanta frecuencia. Le permite hacer que un recurso en su PC local esté disponible en el servidor SSH. Por ejemplo, supongamos que está ejecutando un servidor web en la PC local frente a la que está sentado. Pero su PC está detrás de un firewall que no permite el tráfico entrante al software del servidor.

Suponiendo que puede acceder a un servidor SSH remoto, puede conectarse a ese servidor SSH y utilizar el reenvío de puertos remotos. Su cliente SSH le dirá al servidor que reenvíe un puerto específico, por ejemplo, el puerto 1234, en el servidor SSH a una dirección y puerto específicos en su PC o red local actual. Cuando alguien accede al puerto 1234 en el servidor SSH, ese tráfico se “tunelizará” automáticamente a través de la conexión SSH. Cualquier persona con acceso al servidor SSH podrá acceder al servidor web que se ejecuta en su PC. Esta es efectivamente una forma de tunelizar a través de firewalls.

Te puede ser útil:  Por qué los auriculares Bluetooth son terribles en PC con Windows

Para utilizar el reenvío remoto, utilice el comando ssh con el comando -R argumento. La sintaxis es en gran medida la misma que con el reenvío local:

ssh -R remote_port:local_address:local_port username@server.com

Supongamos que desea que una aplicación de servidor que escucha en el puerto 1234 de su PC local esté disponible en el puerto 8888 del servidor SSH remoto. La dirección del servidor SSH es ssh.youroffice.com y su nombre de usuario en el servidor SSH es lo. Ejecutaría el siguiente comando:

ssh -R 8888:localhost:1234 bob@ssh.youroffice.com

A continuación, alguien podría conectarse al servidor SSH en el puerto 8888 y esa conexión se tunelizaría a la aplicación del servidor que se ejecuta en el puerto 1234 en el EQUIPO local desde el que estableció la conexión.

Para hacer esto en PuTTY en Windows, seleccione Conexión > túneles SSH >. Seleccione la opción “Remoto”. En “Puerto de origen”, introduzca el puerto remoto. En “Destino”, introduzca la dirección de destino y el puerto con el formato local_address:local_port.

Por ejemplo, si desea configurar el ejemplo anterior, debe escribir 8888 como puerto de origen y localhost:1234 como destino. Haga clic en “Agregar” después y luego haga clic en “Abrir” para abrir la conexión SSH. También deberá ingresar la dirección y el puerto del servidor SSH en la pantalla principal “Sesión” antes de conectarse, por supuesto.

Las personas podrían conectarse al puerto 8888 en el servidor SSH y su tráfico se tunelizaría al puerto 1234 en su sistema local.

De forma predeterminada, el servidor SSH remoto solo escuchará las conexiones del mismo host. En otras palabras, solo las personas en el mismo sistema que el propio servidor SSH podrán conectarse. Esto es por razones de seguridad. Deberá habilitar la opción “GatewayPorts” en sshd_config en el servidor SSH remoto si desea invalidar este comportamiento.

Reenvío dinámico de puertos: utilice el servidor SSH como proxy

También hay “reenvío dinámico de puertos”, que funciona de manera similar a un proxy o VPN. El cliente SSH creará un proxy SOCKS que puede configurar las aplicaciones para usar. Todo el tráfico enviado a través del proxy se enviaría a través del servidor SSH. Esto es similar al reenvío local: toma el tráfico local enviado a un puerto específico en su PC y lo envía a través de la conexión SSH a una ubicación remota.

Por ejemplo, supongamos que está utilizando una red Wi-Fi pública. Desea navegar de forma segura sin ser espiado. Si tiene acceso a un servidor SSH en casa, puede conectarse a él y usar el reenvío dinámico de puertos. El cliente SSH creará un proxy SOCKS en su PC. Todo el tráfico enviado a ese proxy se enviará a través de la conexión del servidor SSH. Nadie que supervise la red Wi-Fi pública podrá monitorear su navegación o censurar los sitios web a los que puede acceder. Desde la perspectiva de cualquier sitio web que visite, será como si estuviera sentado frente a su PC en casa. Esto también significa que podría usar este truco para acceder a sitios web solo para EE. UU. mientras está fuera de los EE. UU., Suponiendo que tenga acceso a un servidor SSH en los EE. UU., Por supuesto.

Como otro ejemplo, es posible que desee acceder a una aplicación de servidor de medios que tenga en su red doméstica. Por razones de seguridad, es posible que solo tenga un servidor SSH expuesto a Internet. No permite conexiones entrantes desde Internet a la aplicación de servidor multimedia. Puede configurar el reenvío dinámico de puertos, configurar un navegador web para usar el proxy SOCKS y luego acceder a los servidores que se ejecutan en su red doméstica a través del navegador web como si estuviera sentado frente a su sistema SSH en casa. Por ejemplo, si el servidor multimedia se encuentra en el puerto 192.168.1.123 de la red doméstica, puede conectar la dirección 192.168.1.123 en cualquier aplicación utilizando el proxy SOCKS y accedería al servidor de medios como si estuviera en su red doméstica.

Para utilizar el reenvío dinámico, Ejecute el comando SSH con el comando -D argumento, así:

ssh -D local_port username@server.com

Por ejemplo, supongamos que tiene acceso a un servidor SSH en ssh.yourhome.com y su nombre de usuario en el servidor SSH es bob . Desea utilizar el reenvío dinámico para abrir un proxy SOCKS en el puerto 8888 del equipo actual. Ejecutaría el siguiente comando:

ssh -D 8888 bob@ssh.yourhome.com

A continuación, puede configurar un navegador web u otra aplicación para utilizar su dirección IP local (127.0.01) y el puerto 8888. Todo el tráfico de esa aplicación sería redirigido a través del túnel.

Para hacer esto en PuTTY en Windows, seleccione Conexión > túneles SSH >. Seleccione la opción “Dinámico”. En “Puerto de origen”, introduzca el puerto local.

Por ejemplo, si desea crear un proxy SOCKS en el puerto 8888, debe escribir 8888 como puerto de origen. Haga clic en “Agregar” después y luego haga clic en “Abrir” para abrir la conexión SSH. También deberá ingresar la dirección y el puerto del servidor SSH en la pantalla principal “Sesión” antes de conectarse, por supuesto.

A continuación, puede configurar una aplicación para acceder al proxy SOCKS en su PC local (es decir, la dirección IP 127.0.0.1, que apunta a su PC local) y especificar el puerto correcto.

Por ejemplo, puede configurar Firefox para que use el proxy SOCKS. Esto es particularmente útil porque Firefox puede tener su propia configuración de proxy y no tiene que usar la configuración de proxy de todo el sistema. Firefox enviará su tráfico a través del túnel SSH, mientras que otras aplicaciones usarán su conexión a Internet normalmente.

Al hacer esto en Firefox, seleccione “Configuración manual del proxy”, ingrese “127.0.0.1” en el cuadro del host SOCKS e ingrese el puerto dinámico en el cuadro “Puerto”. Deje vacías las casillas Proxy HTTP, Proxy SSL y Proxy FTP.

El túnel permanecerá activo y abierto mientras tenga abierta la conexión de sesión SSH. Cuando finalice su sesión SSH y se desconecte de un servidor, el túnel también se cerrará. Simplemente vuelva a conectarse con el comando apropiado (o las opciones apropiadas en PuTTY) para volver a abrir el túnel.

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings