Introducción
El objetivo de la publicidad de SSH La tunelización consiste en proporcionar una transferencia segura de datos entre sistemas a través de redes públicas o no confiables, como Internet. SSH Los túneles crean canales de comunicación cifrados que reenvían de forma segura el tráfico entre redes internas y externas.
Casos de uso comunes para SSH La tunelización incluye:
- Reenvío de puertos seguro — reenvío de puertos locales o remotos a través de un protocolo cifrado SSH conexión;
- Protección del tráfico — cifrar los datos transmitidos para evitar su interceptación;
- Evitar restricciones de red — acceder a servicios bloqueados por firewalls o políticas de red;
- Acceso seguro al proxy — creando un proxy SOCKS para una navegación anónima y encriptada.
En general, SSH La tunelización es una técnica versátil para proteger la transmisión de datos y el acceso remoto en entornos de red restringidos o inseguros.
Requisitos
- derechos de raíz;
- Debian 11 o versión superior;
- Varios conocimientos sobre el sistema operativo de trabajo;
- Conexión a Internet.
Preparando el sistema para SSH Tunneling
Para la transferencia segura, pensamos que nuestro sistema de protección es más complejo y necesitamos actualizar, actualizar todos los paquetes antes de usar la utilidad:
apt update && apt upgrade -yLa actualización del sistema garantiza los últimos parches de seguridad y SSH los componentes están instalados.

Para hacer túnel vía SSH Necesitamos crear una clave pública y una privada que ayuden a autorizar al usuario de forma más segura y automatizar el proceso. Ejecutaremos el comando ssh-keygen:
ssh-keygen -t rsa
En esa parte, elija la ruta para guardar las claves públicas y privadas para la conexión a través de SSH, por defecto se guardarán en la carpeta /root/.ssh/. Luego, ingresa la contraseña si quieres complicar más la forma de acceder a la clave privada:

También puede ver la huella dactilar como resultado del hash de su clave pública, que puede ayudar a identificar su personalidad y los derechos para tener esa. Pero el propósito principal de generar hash de claves públicas en el contexto de SSH es la conveniencia y eficiencia de la autenticación de claves. Una vez que el hash de la clave pública del cliente se almacena en el servidor, el servidor puede comparar de manera rápida y eficiente el hash con los hashes que ya están almacenados en su base de datos. Aunque el hash de las claves públicas no proporciona seguridad adicional en el sentido de que no hace que las claves sean secretas (las claves públicas siempre deben permanecer públicas), proporciona protección contra cambios de clave accidentales o maliciosos o errores de copia.
Después de eso, debe copiar su clave pública y guardarla en el servidor de destino mediante el siguiente comando
nano /root/.ssh/id_rsa.pubDespués de ingresar el comando, verá una línea larga con diferentes símbolos, en el editor de texto nano debe presionar Alt + 6 y luego presione la combinación de botones Ctrl + X!

Cambie las ventanas de la terminal y pegue el archivo en el directorio necesario con la configuración predeterminada, que es /home/user/.ssh/id_rsa.pub en la máquina de destino o, generalmente, para ese propósito podemos enviarlo directamente al servidor de destino mediante el siguiente comando:
ssh-copy-id root@94.141.96.47En ese comando, debe reemplazar la dirección IP de su máquina de destino y agregar una clave pública. En ese momento ese servidor comparará su base de claves hash y tu hash de clave pública. En nuestra situación, no agregamos archivos al servidor y nos conectamos a la primera:

Para confirmar que tiene permiso para agregar una clave a esa cuenta, escriba la credencial de acuerdo.

No, hemos visto una clave agregada a nuestro servidor, por lo tanto, el próximo proceso de autenticación será fácil: debemos escribir las credenciales como consideramos antes y el objetivo verificará el hash, el paquete de confiabilidad de las claves públicas y privadas.
CAMBIAR SSH Puerto
Cambiar el valor predeterminado SSH puerto de 22 a un puerto no estándar es una práctica sencilla pero eficaz para reforzar la seguridad y proteger contra el escaneo automatizado y los ataques de fuerza bruta. Mejora la postura de seguridad de la organización disuadiendo a los atacantes oportunistas y reduciendo el desorden de registros. Aunque no es una solución de seguridad independiente, cambiar la SSH port sirve como una medida proactiva que contribuye a una estrategia de seguridad integral, promoviendo un entorno informático más seguro y resistente. Para ese archivo de configuración abierto en su máquina:
nano /etc/ssh/sshd_config
En la ventana abierta, elimine el hashtag frente al puerto y cambie el valor por su preferido. Después de esa prensa Ctrl + A Para guardar el archivo y reiniciar el servicio ssh mediante el siguiente comando:
systemctl restart sshAhora tu puerto para SSH fue modificado y puede usarlo para configurar la conexión.
Uso de SSH túnel
Excepto el control y la transferencia de datos a otra máquina con túneles, podemos usarlos para redirigir el tráfico y representar nuestro túnel como servidor proxy.
SSH El reenvío de puertos permite a los usuarios acceder de forma segura a los servicios que se ejecutan en un servidor remoto, incluso si no están expuestos directamente a Internet. A través de SSH tunelización, los servicios como aplicaciones web, bases de datos o escritorios remotos se pueden reenviar a una máquina local, lo que permite una gestión y administración eficientes de los sistemas remotos. Para ello escriba el comando:
ssh -L 9999:127.0.0.1:80 root@94.141.96.47
Además de una explicación detallada:
- Cuando ejecuta el comando especificado, inicia un SSH conexión al servidor remoto en nombre del usuario. Una vez que se establece la conexión, su máquina local comienza a escuchar en el puerto 9999;
- Cada vez que se realiza una solicitud al puerto 9999 en su máquina local, SSH redirige ese tráfico a través de la red establecida SSH conexión al servidor remoto. Luego, el servidor remoto redirige el tráfico al puerto 80, que generalmente se usa para HTTP servidores;
- Entonces, cuando accede a "127.0.0.1:9999" (localhost:9999) en su máquina local, el tráfico se reenvía al servidor remoto y se conecta a su puerto 80. Esta funcionalidad se vuelve beneficiosa cuando necesita acceder a un servidor web. en la máquina remota a la que no se puede acceder directamente desde Internet, pero se puede acceder a través de SSH túnel.
Al establecer una dinámica SSH túnel y configurándolo como un servidor proxy SOCKS, podemos enrutar eficientemente el tráfico de red desde nuestra máquina local a través del servidor remoto. Esto permite que cualquier aplicación o servicio en la máquina local que admita la configuración del proxy SOCKS utilice el túnel como su servidor proxy. Para lograr esto, puede usar el comando especificado:
ssh -D 8888 root@94.141.96.47
Cuando ejecuta el comando especificado, inicia un SSH conexión al servidor remoto en su nombre. Una vez que se establece la conexión, su máquina local configura un puerto de escucha, que en este caso es el puerto 8888.
A diferencia del reenvío de puerto local que discutimos anteriormente (usando la opción -L), el reenvío de puerto dinámico (usando la opción -D) crea un servidor proxy SOCKS directamente en su máquina local. Cuando una aplicación en su máquina local intenta acceder a Internet, puede usar este servidor proxy SOCKS configurándolo para conectarse a través de localhost: 8888.
Como resultado, todo el tráfico de red de su máquina local se redirigirá a través de la red establecida. SSH Conexión al servidor remoto. El servidor remoto se encargará del tráfico saliente y lo reenviará a su destino final en Internet.
Esta técnica de reenvío de puertos dinámicos proporciona a sus aplicaciones una conexión a Internet segura y cifrada a través del servidor remoto. Puede resultar especialmente útil cuando determinados servidores o recursos de Internet son inaccesibles debido a restricciones o cortafuegos en su red local. Al utilizar el reenvío de puertos dinámicos, puede eludir estas restricciones y acceder a Internet de forma segura a través del servidor remoto.
Conclusión
SSH La tunelización es un método eficaz para proteger la transmisión de datos y el acceso remoto en redes no confiables. Mediante el uso de túneles cifrados, redireccionamiento de puertos y funciones de proxy, los administradores pueden proteger datos confidenciales, acceder a servicios internos de forma segura y eludir las restricciones de red cuando sea necesario.
Uso adecuado de SSH La tunelización mejora significativamente la seguridad, la privacidad y la flexibilidad en las redes modernas. Linux .