Un túnel SSH proporciona una conexión segura y cifrada para acceder a la consola de tu router I2P remoto u otros servicios. Esta guía te muestra cómo crear túneles SSH en sistemas Windows, Linux y Mac.
¿Qué es un túnel SSH?
Un túnel SSH es un método para enrutar datos e información de manera segura a través de una conexión SSH cifrada. Piénsalo como crear una “tubería” protegida a través de internet: tus datos viajan a través de este túnel cifrado, evitando que cualquiera los intercepte o los lea en el camino.
El tunneling SSH es particularmente útil para:
- Acceso a routers I2P remotos: Conéctate a tu consola I2P ejecutándose en un servidor remoto
- Conexiones seguras: Todo el tráfico está cifrado de extremo a extremo
- Evitar restricciones: Accede a servicios en sistemas remotos como si fueran locales
- Reenvío de puertos: Mapea un puerto local a un servicio remoto
En el contexto de I2P, puedes usar un túnel SSH para acceder a tu consola de router I2P (típicamente en el puerto 7657) en un servidor remoto reenviándola a un puerto local en tu computadora.
Requisitos previos
Antes de crear un túnel SSH, necesitarás:
- Cliente SSH:
- Windows: PuTTY (descarga gratuita)
- Linux/Mac: Cliente SSH integrado (vía Terminal)
- Acceso al servidor remoto:
- Nombre de usuario para el servidor remoto
- Dirección IP o nombre de host del servidor remoto
- Contraseña SSH o autenticación basada en clave
- Puerto local disponible: Elija un puerto sin usar entre 1-65535 (7657 es comúnmente usado para I2P)
Entendiendo el Comando Tunnel
El comando del túnel SSH sigue este patrón:
ssh -L [local_port]:[destination_ip]:[destination_port] [username]@[remote_server]
Parámetros explicados: - local_port: El puerto en tu máquina local (por ejemplo, 7657) - destination_ip: Usualmente 127.0.0.1 (localhost en el servidor remoto) - destination_port: El puerto del servicio en el servidor remoto (por ejemplo, 7657 para I2P) - username: Tu nombre de usuario en el servidor remoto - remote_server: Dirección IP o nombre de host del servidor remoto
Ejemplo: ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Esto crea un túnel donde: - El puerto local 7657 en tu máquina reenvía a… - El puerto 7657 en el localhost del servidor remoto (donde I2P está ejecutándose) - Conectando como usuario i2p al servidor 20.228.143.58
Creación de túneles SSH en Windows
Los usuarios de Windows pueden crear túneles SSH usando PuTTY, un cliente SSH gratuito.
Step 1: Download and Install PuTTY
Descarga PuTTY desde putty.org e instálalo en tu sistema Windows.
Step 2: Configure the SSH Connection
Abre PuTTY y configura tu conexión:
- En la categoría Session:
- Ingresa la dirección IP o nombre de host de tu servidor remoto en el campo Host Name
- Asegúrate de que Port esté configurado en 22 (puerto SSH predeterminado)
- El tipo de conexión debe ser SSH

Step 3: Configure the Tunnel
Navega a Connection → SSH → Tunnels en la barra lateral izquierda:
- Puerto de origen: Ingresa el puerto local que deseas usar (ej.,
7657) - Destino: Ingresa
127.0.0.1:7657(localhost:puerto en el servidor remoto) - Haz clic en Agregar para añadir el túnel
- El túnel debería aparecer en la lista “Puertos reenviados”

Step 4: Connect
- Haz clic en Abrir para iniciar la conexión
- Si es la primera vez que te conectas, verás una alerta de seguridad - haz clic en Sí para confiar en el servidor
- Ingresa tu nombre de usuario cuando se te solicite
- Ingresa tu contraseña cuando se te solicite

Una vez conectado, puedes acceder a tu consola I2P remota abriendo un navegador y navegando a http://127.0.0.1:7657
Paso 1: Descargar e Instalar PuTTY
Para evitar reconfigurar cada vez:
- Regresa a la categoría Session
- Introduce un nombre en Saved Sessions (por ejemplo, “I2P Tunnel”)
- Haz clic en Save
- La próxima vez, simplemente carga esta sesión y haz clic en Open
Creating SSH Tunnels on Linux
Los sistemas Linux tienen SSH integrado en el terminal, lo que hace que la creación de túneles sea rápida y sencilla.
Paso 2: Configurar la Conexión SSH
Abre una terminal y ejecuta el comando del túnel SSH:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Reemplazar: - 7657 (primera ocurrencia): Tu puerto local deseado - 127.0.0.1:7657: La dirección de destino y puerto en el servidor remoto - i2p: Tu nombre de usuario en el servidor remoto - 20.228.143.58: La dirección IP de tu servidor remoto

Cuando se te solicite, ingresa tu contraseña. Una vez conectado, el túnel estará activo.
Accede a tu consola I2P remota en http://127.0.0.1:7657 en tu navegador.
Paso 3: Configurar el Túnel
El túnel permanece activo mientras la sesión SSH esté en ejecución. Para mantenerlo ejecutándose en segundo plano:
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Banderas adicionales: - -f: Ejecuta SSH en segundo plano - -N: No ejecutar comandos remotos (solo túnel)
Para cerrar un túnel en segundo plano, encuentra y termina el proceso SSH:
ps aux | grep ssh
kill [process_id]
Paso 4: Conectar
Para mayor seguridad y comodidad, utilice autenticación por clave SSH:
Genera un par de claves SSH (si no tienes uno):
ssh-keygen -t ed25519 -C "your_email@example.com"Copia tu clave pública al servidor remoto:
ssh-copy-id i2p@20.228.143.58Ahora puedes conectarte sin contraseña:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Creating SSH Tunnels on Mac
Los sistemas Mac utilizan el mismo cliente SSH que Linux, por lo que el proceso es idéntico.
Opcional: Guardar tu sesión
Abre Terminal (Aplicaciones → Utilidades → Terminal) y ejecuta:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Reemplazar: - 7657 (primera aparición): El puerto local que desees - 127.0.0.1:7657: La dirección de destino y puerto en el servidor remoto - i2p: Tu nombre de usuario en el servidor remoto - 20.228.143.58: La dirección IP de tu servidor remoto

Ingresa tu contraseña cuando se te solicite. Una vez conectado, accede a tu consola remota de I2P en http://127.0.0.1:7657
Background Tunnels on Mac
Al igual que en Linux, puedes ejecutar el túnel en segundo plano:
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Usar la Terminal
La configuración de claves SSH en Mac es idéntica a la de Linux:
# Generate key (if needed)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Copy to remote server
ssh-copy-id i2p@20.228.143.58
Common Use Cases
Manteniendo el Túnel Activo
El caso de uso más común - acceder a la consola de tu router I2P remoto:
ssh -L 7657:127.0.0.1:7657 user@remote-server
Luego abre http://127.0.0.1:7657 en tu navegador.
Usar Claves SSH (Recomendado)
Reenviar múltiples puertos a la vez:
ssh -L 7657:127.0.0.1:7657 -L 7658:127.0.0.1:7658 user@remote-server
Esto reenvía tanto el puerto 7657 (consola I2P) como el 7658 (otro servicio).
Custom Local Port
Usa un puerto local diferente si el 7657 ya está en uso:
ssh -L 8080:127.0.0.1:7657 user@remote-server
Accede a la consola de I2P en http://127.0.0.1:8080 en su lugar.
Troubleshooting
Usando la Terminal
Error: “bind: Address already in use”
Solución: Elija un puerto local diferente o finalice el proceso que está usando ese puerto:
# Linux/Mac - find process on port 7657
lsof -i :7657
# Kill the process
kill [process_id]
Túneles en Segundo Plano en Mac
Error: “Connection refused” o “channel 2: open failed”
Posibles causas: - El servicio remoto no está en ejecución (verifica que el router I2P esté ejecutándose en el servidor remoto) - Firewall bloqueando la conexión - Puerto de destino incorrecto
Solución: Verifica que el router I2P esté funcionando en el servidor remoto:
ssh user@remote-server "systemctl status i2p"
Configuración de Clave SSH en Mac
Error: “Permiso denegado” o “Autenticación fallida”
Posibles causas: - Nombre de usuario o contraseña incorrectos - Clave SSH no configurada correctamente - Acceso SSH deshabilitado en el servidor remoto
Solución: Verifique las credenciales y asegúrese de que el acceso SSH esté habilitado en el servidor remoto.
Tunnel Drops Connection
Error: La conexión se interrumpe después de un período de inactividad
Solución: Agrega configuraciones de keep-alive a tu configuración de SSH (~/.ssh/config):
Host remote-server
ServerAliveInterval 60
ServerAliveCountMax 3
Security Best Practices
- Use claves SSH: Más seguras que las contraseñas, más difíciles de comprometer
- Deshabilite la autenticación por contraseña: Una vez configuradas las claves SSH, deshabilite el inicio de sesión por contraseña en el servidor
- Use contraseñas fuertes: Si utiliza autenticación por contraseña, use una contraseña fuerte y única
- Limite el acceso SSH: Configure reglas de firewall para limitar el acceso SSH a IPs de confianza
- Mantenga SSH actualizado: Actualice regularmente el software de su cliente y servidor SSH
- Monitoree los registros: Revise los registros SSH en el servidor en busca de actividad sospechosa
- Use puertos SSH no estándar: Cambie el puerto SSH predeterminado (22) para reducir ataques automatizados
Creación de túneles SSH en Linux
Accediendo a la Consola I2P
Crea un script para establecer túneles automáticamente:
#!/bin/bash
# i2p-tunnel.sh
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
echo "I2P tunnel established"
Hazlo ejecutable:
chmod +x i2p-tunnel.sh
./i2p-tunnel.sh
Múltiples Túneles
Crea un servicio systemd para la creación automática de túneles:
sudo nano /etc/systemd/system/i2p-tunnel.service
Añadir:
[Unit]
Description=I2P SSH Tunnel
After=network.target
[Service]
ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Restart=always
RestartSec=10
User=your-username
[Install]
WantedBy=multi-user.target
Habilitar e iniciar:
sudo systemctl enable i2p-tunnel
sudo systemctl start i2p-tunnel
Advanced Tunneling
Puerto Local Personalizado
Crear un proxy SOCKS para reenvío dinámico:
ssh -D 8080 user@remote-server
Configura tu navegador para usar 127.0.0.1:8080 como proxy SOCKS5.
Reverse Tunneling
Permite que el servidor remoto acceda a servicios en tu máquina local:
ssh -R 7657:127.0.0.1:7657 user@remote-server
Puerto Ya en Uso
Túnel a través de un servidor intermedio:
ssh -J jumphost.example.com -L 7657:127.0.0.1:7657 user@final-server
Conclusion
El túnel SSH es una herramienta poderosa para acceder de forma segura a routers I2P remotos y otros servicios. Ya sea que uses Windows, Linux o Mac, el proceso es sencillo y proporciona un cifrado robusto para tus conexiones.
Para obtener ayuda adicional o realizar preguntas, visita la comunidad de I2P: - Foro: i2pforum.net - IRC: #i2p en varias redes - Documentación: Documentación de I2P
Guía creada originalmente por Stormy Cloud , adaptada para la documentación de I2P.