Túneles SSH y proxy SOCKS
Cree túneles SSH seguros para la comunicación cifrada y configure un proxy SOCKS para navegar de forma anónima o eludir restricciones de red.
Túneles SSH y proxy SOCKS es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
Introducción a los túneles SSH
¡Le damos la bienvenida a los túneles SSH! No son túneles físicos, sino conexiones seguras que permiten reenviar tráfico de red a través de un servidor SSH.
Puede imaginarlos como la creación de una ruta secreta y cifrada a través de una red pública. Esta ruta le permite acceder a servicios que, de otro modo, podrían estar bloqueados o no ser seguros.
¿Por qué usar túneles SSH?
Los túneles SSH son increíblemente versátiles para desarrolladores y administradores de sistemas. Le ayudan a:
- Omitir firewalls: Acceder a servicios internos que no están expuestos a Internet.
- Proteger tráfico no cifrado: Cifrar datos que normalmente viajarían de forma insegura, como los de protocolos antiguos.
- Acceder a recursos restringidos: Llegar a servicios de una red privada desde una red pública, o viceversa.
Explicación de la redirección de puertos local
La redirección de puertos local consiste en conectar un puerto de su máquina local con un puerto de una máquina remota (a través del servidor SSH).
El servidor SSH actúa como intermediario. Su aplicación local se conecta a un puerto local y SSH reenvía de forma segura ese tráfico al host y al puerto remotos especificados.
Redirección local: el comando
La sintaxis de la redirección de puertos local es sencilla:
ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]
Este es un ejemplo para acceder a una base de datos que se ejecuta en db-server (puerto 3306) a través de su servidor ssh-gateway:
ssh -L 8080:db-server:3306 user@ssh-gateway.comRedirección local: uso práctico
Después de ejecutar el comando de la escena anterior, ya puede conectar su cliente de base de datos local a localhost:8080.
Todo el tráfico que envíe a localhost:8080 se reenviará de forma segura a través de ssh-gateway.com hasta db-server:3306. Esto resulta ideal para acceder a bases de datos o servicios web privados.
Explicación de la redirección de puertos remota
La redirección de puertos remota es lo contrario de la redirección local. Permite exponer un servicio que se ejecuta en su máquina local mediante un puerto del servidor SSH remoto.
Esto significa que otras personas pueden conectarse a un puerto del servidor SSH remoto y su tráfico se reenviará de forma segura a su servicio local.
Redirección remota: el comando
La sintaxis de la redirección de puertos remota utiliza la opción -R:
ssh -R [remote_port]:[local_host]:[local_port] [user]@[ssh_server]
Supongamos que tiene un servidor web ejecutándose localmente en el puerto 8000 y quiere hacerlo accesible a otras personas mediante su ssh-gateway en el puerto 8888:
ssh -R 8888:localhost:8000 user@ssh-gateway.comRedirección remota: uso práctico
Una vez establecido el túnel remoto, cualquiera que pueda acceder a ssh-gateway.com podrá acceder a su servidor web local conectándose a ssh-gateway.com:8888.
Esto resulta útil para compartir un servidor de desarrollo local con sus compañeros de equipo o para webhooks que necesiten llegar a su máquina local.
Proxy SOCKS mediante SSH
Un proxy SOCKS permite enrutar todo el tráfico de sus aplicaciones (por ejemplo, el navegador web o el cliente de chat) a través del servidor SSH. Esto se utiliza a menudo para anonimizar la navegación o eludir restricciones de red.
La opción -D crea un proxy SOCKS en un puerto local:
ssh -D 9999 user@ssh-gateway.comConfiguración del cliente para SOCKS
Después de ejecutar ssh -D 9999 user@ssh-gateway.com, tendrá un proxy SOCKS ejecutándose en localhost:9999.
A continuación, configure su navegador web (u otra aplicación) para que use localhost como proxy SOCKS5 en el puerto 9999. Todo el tráfico de Internet de esa aplicación se enrutará de forma segura a través de su ssh-gateway.
Comprobación de túneles
Está intentando acceder desde su máquina local (localhost) a un servicio web interno privado que se ejecuta en internal-app.local:80. Tiene acceso SSH a jump-host.com.
¿Qué comando SSH usaría para reenviar el puerto local 8080 al servicio web interno?
Resumen de túneles y proxies
¡Ha aprendido a usar los túneles SSH! Hemos cubierto:
- Redirección de puertos local (
-L): Acceder a servicios remotos desde su máquina local. - Redirección de puertos remota (
-R): Exponer servicios locales al servidor SSH remoto. - Proxy SOCKS (
-D): Enrutar todo el tráfico de las aplicaciones a través del servidor SSH para proteger la privacidad o eludir restricciones.
Estas técnicas son herramientas potentes para obtener un acceso a la red seguro y flexible durante el desarrollo y la administración.
Preguntas frecuentes
¿La lección «Túneles SSH y proxy SOCKS» es gratis?
Sí — el texto completo de «Túneles SSH y proxy SOCKS» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Túneles SSH y proxy SOCKS»?
Cree túneles SSH seguros para la comunicación cifrada y configure un proxy SOCKS para navegar de forma anónima o eludir restricciones de red. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?
No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Túneles SSH y proxy SOCKS»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?
Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Reenvío de puertos SSH (local/remoto)
- Túneles SSH y proxy SOCKS
- Agente SSH y conexiones multisalto
- Transferencia segura de archivos con SCP, SFTP y rsync