Enruta todo el tráfico de tu Android mediante un túnel SSH seguro

Enlaces rápidos
- Qué necesitarás
- Descargar y configurar SSH Tunnel para Android
- Probar la conexión del túnel SSH
- Comprobaciones y casos de prueba
- Seguridad y endurecimiento
- Alternativas y cuándo usar otra herramienta
- Lista de verificación por rol
- Glosario breve
Qué es esto y por qué usarlo
Un túnel SSH crea un canal cifrado entre tu teléfono y un servidor remoto. Todo el tráfico que pasa por el túnel queda protegido frente a espías en la red intermedia (por ejemplo, redes Wi‑Fi públicas o la conexión móvil). Definición en una línea: SSH (Secure Shell) es un protocolo que permite conexiones cifradas y, entre otras cosas, crear túneles que transportan datos de forma segura.
Importante: cifrar el tráfico hacia tu servidor SSH protege la etapa entre tu teléfono y ese servidor. El servidor (o quien lo gestione) podrá ver el tráfico descifrado si actúa como punto de salida hacia Internet.
Qué necesitarás
- Un teléfono Android rooteado con Android 1.6 o superior.
- La aplicación gratuita SSH Tunnel for Android instalada.
- Un servidor SSH al que puedas acceder (puede ser un servidor remoto o tu router doméstico con servidor SSH).
- Credenciales válidas: usuario/contraseña o, preferible, un par de claves públicas/privadas.
Notas rápidas:
- Root: SSH Tunnel para ciertas funciones necesita permisos de superusuario para configurar proxies del sistema y rutas de red. Si tu teléfono no está rooteado, revisa las alternativas más abajo.
- Servidor SSH: puede estar en tu router, en un VPS o en otro servidor al que tengas acceso. Asegúrate de poder abrir el puerto SSH en el firewall/router si está en tu red doméstica.
Descargar y configurar SSH Tunnel para Android
- Consigue la app. Descarga SSH Tunnel for Android desde Google Play o, si no tienes acceso a Play, instala el APK manualmente desde una fuente fiable.
- Ejecuta la app por primera vez y abre las opciones de configuración.
Ajustes básicos
- Host: introduce la IP o el nombre de host de tu servidor SSH.
- Puerto: suele ser 22 salvo que lo hayas cambiado por seguridad.
- Usuario y Contraseña: los credenciales para iniciar sesión en el servidor SSH.
Resiste la tentación de activar el interruptor del túnel antes de terminar la configuración.
Uso de claves privadas (recomendado)
Si eliges usar autenticación por clave (más segura que la contraseña):
- Genera un par de claves en tu equipo (ej.: ssh-keygen -t rsa -b 4096). Esto crea id_rsa (privada) e id_rsa.pub (pública).
- Copia la clave pública al servidor: pega id_rsa.pub en ~/.ssh/authorized_keys del usuario destino.
- SSH Tunnel para Android suele requerir la clave en formato PuTTY (.ppk). Si generaste claves con ssh-keygen, convierte la clave privada a .ppk con PuTTYgen (Windows) o con las herramientas apropiadas.
- Copia el fichero .ppk a /sdcard/sshtunnel/key/ en el teléfono y, desde la app, abre Key File Manager para seleccionar esa clave.
Consejo: nombra cada clave de forma descriptiva (por ejemplo, HomeRouter.ppk o VPS-Europa.ppk) si vas a gestionar varias conexiones.
Activar SOCKS y alcance del proxy
- En Port Forwarding activa “Use socks proxy” para habilitar un servidor SOCKS local en el teléfono. Eso mejora la compatibilidad de aplicaciones que respetan la proxy SOCKS.
- Global Proxy: si lo marcas, todo el tráfico TCP del teléfono se redirige por el túnel.
- Individual Proxy: selecciona solo las aplicaciones que quieres que pasen por el túnel (por ejemplo, navegador y cliente de correo).
Otras funciones útiles
- Auto Connect: conecta automáticamente cuando el servidor está disponible.
- Auto Reconnect: intenta reconectar si la conexión se cae.
- Enable DNS Proxy: recomendado; hace que las consultas DNS también pasen por tu servidor (evita fugas DNS). Si lo desmarcas, las consultas DNS viajarán fuera del túnel.
- Enable GFW List: función específica para censura; la app solo proxifica dominios bloqueados por una lista.
Probar la conexión del túnel SSH
- Comprueba tu IP pública antes de activar el túnel: en el navegador busca “what is my ip”.
Activa el interruptor Tunnel Switch en la app. Autoriza el permiso de superusuario cuando aparezca (y marca “Recordar” para no tener que confirmar siempre).
Observa las notificaciones para confirmar que la conexión se ha establecido.
- Refresca la página “what is my ip”. Debe mostrar ahora la IP del servidor SSH (o la IP pública del enlace de salida del servidor).
Si ves la IP del servidor, el túnel está funcionando y el tráfico del navegador pasa por él.
Comprobaciones y casos de prueba (Test cases / acceptance criteria)
Objetivo: verificar que tanto la ruta como el cifrado funcionan y que no hay fugas.
Casos de prueba básicos:
- IP pública cambia a la del servidor al activar Global Proxy.
- DNS: usa un sitio que muestre tu DNS (por ejemplo, pruebas de fuga de DNS) y confirma que las consultas salen por el servidor.
- Aplicaciones seleccionadas en Individual Proxy sólo funcionan por túnel y otras no.
- Reanudación: desconectar y volver a conectar con Auto Reconnect activado para comprobar la resiliencia.
Criterios de aceptación:
- El navegador muestra la IP del servidor.
- Una prueba de DNS no detecta fugas hacia el proveedor móvil.
- Aplicaciones críticas (correo, navegador) mantienen sesión tras reconexiones breves.
Pruebas avanzadas:
- Forzar un cambio de red (Wi‑Fi a datos móviles) y comprobar que Auto Connect restablece el túnel.
- Intentar acceder a un servicio georrestringido para validar que el tráfico sale por la región del servidor.
Solución de problemas frecuentes
Problema: la app no se conecta.
- Verifica puerto/host y que el servidor SSH está accesible desde la red móvil.
- Asegúrate de que el firewall en el servidor permite el puerto SSH.
- Comprueba permisos de superusuario en el teléfono.
Problema: la IP no cambia tras activar el túnel.
- Revisa si la app está en “Individual Proxy” y la aplicación probada está desmarcada.
- Comprueba si “Enable DNS Proxy” está activo; si no lo está, activa y prueba de nuevo.
Problema: ciertas apps siguen conectando fuera del túnel.
- Muchas apps usan sockets directos y no respetan el proxy del sistema. No todas las apps soportan SOCKS.
- Solución: usa Global Proxy o aplicaciones que soporten proxy, o considera una VPN completa.
Problema: la clave .ppk no funciona.
- Asegúrate de que la clave privada fue convertida correctamente al formato PuTTY (.ppk) si procede.
- Comprueba permisos del archivo en el teléfono y la ruta /sdcard/sshtunnel/key/.
Problema: restricciones del operador o bloqueo por DPI.
- Algunos operadores o redes pueden bloquear/traficar conexiones SSH. Prueba con otro puerto (por ejemplo 443) si el servidor lo soporta.
Seguridad y endurecimiento del servidor (mejoras recomendadas)
Proteger tu servidor SSH es crucial porque todo tu tráfico saldrá por él. Recomendaciones prácticas:
- Forzar autenticación por clave y desactivar PasswordAuthentication en /etc/ssh/sshd_config.
- Desactivar el acceso root por SSH (PermitRootLogin no).
- Habilitar fail2ban o reglas equivalentes para mitigar ataques por fuerza bruta.
- Cambiar el puerto por defecto (22) a otro puerto no publicado ampliamente para reducir ruido de escaneos.
- Restringir acceso por IP si es posible (por ejemplo, solo permitir la IP de tu trabajo o rango conocido).
- Mantener el sistema y OpenSSH actualizados.
Considera también el balance de privacidad: el administrador del servidor puede ver tus conexiones salientes. Si usas un servidor en casa, tu ISP verá que hay tráfico cifrado hacia tu servidor pero no el contenido.
Privacidad, cumplimiento y consideraciones legales
- El tráfico cifrado protege frente a intermediarios. No elimina la responsabilidad legal sobre el contenido que accedes.
- Si manejas datos personales ajenos, asegúrate de cumplir la normativa de protección de datos aplicable (por ejemplo, GDPR en la UE) respecto a dónde procesas los datos.
- Si usas un servidor en otra jurisdicción, las leyes locales pueden afectar al tratamiento de datos.
Nota: no es una asesoría legal. Consulta con un experto en protección de datos si procesas información sensible.
Alternativas y cuándo elegir otra solución
VPN completa (OpenVPN, WireGuard): ofrece compatibilidad general (incluye UDP), fácil de configurar sin root en la mayoría de los casos y cobertura completa del sistema. Elige VPN si:
- No quieres root.
- Necesitas soporte UDP (juegos, algunos VoIP).
- Buscas una solución más fácil para todo el sistema en dispositivos sin root.
Shadowsocks: útil para evadir censura en ciertas regiones y suele ofrecer mejores resultados para tráfico web moderado.
Proxy HTTP/S dedicados: simples para navegadores, pero no cifran todas las apps.
Si tu objetivo es privacidad frente a tu ISP o región, considera una VPN o un servidor que soporte WireGuard.
Cuándo elegir SSH Tunnel:
- Cuando ya tienes un servidor SSH y quieres una solución ligera.
- Cuando prefieres cifrar solo el tráfico TCP que respeta proxys o quieres control granular por app.
Escenarios en los que falla o es insuficiente (contraejemplos)
- Apps que usan UDP (VoIP, algunos videojuegos) no funcionarán correctamente a través de un túnel SOCKS implementado por SSH.
- Algunas aplicaciones no respetan proxies SOCKS y mantendrán conexiones directas.
- Redes con inspección profunda de paquetes (DPI) y bloqueos pueden detectar y limitar tráfico SSH.
- Si tu servidor está en la misma red local que el servicio que quieres alcanzar, puede no aportar ventaja.
Lista de verificación por rol
Principiante:
- Teléfono rooteado
- App SSH Tunnel instalada
- Credenciales listas
- Probar con navegador y verificar IP
Usuario avanzado / viajero:
- Clave pública/privada generada
- Clave privada en formato .ppk en /sdcard/sshtunnel/key/
- Enable DNS Proxy activado
- Auto Reconnect activado
Administrador / sysadmin del servidor:
- sshd configurado para clave pública
- fail2ban o similar instalado
- Firewall ajustado
- Logs y alertas básicos activos
Mini metodología: pasos rápidos (checklist operativo)
- Verifica que el servidor SSH esté accesible desde fuera de tu red local.
- Genera o prepara tus credenciales (preferible: clave pública/privada).
- Copia la clave privada .ppk al teléfono en /sdcard/sshtunnel/key/.
- Configura host/puerto/usuario en SSH Tunnel.
- Activa “Use socks proxy” y decide Global vs Individual.
- Activa “Enable DNS Proxy”.
- Prueba con “what is my ip” y una prueba de DNS.
- Activa Auto Reconnect y Auto Connect si quieres resiliencia.
Runbook breve: qué hacer si el túnel interrumpe la navegación
- Desactiva el Tunnel Switch para restaurar la conexión directa.
- Comprueba conectividad hacia el servidor (ping/ssh desde otro equipo).
- Revisa los logs del servidor SSH (/var/log/auth.log o equivalente).
- Si la causa es DNS, desactiva la opción DNS Proxy temporalmente y prueba.
- Si no recuperas la conexión, reinicia el servicio SSH en el servidor y vuelve a probar.
Snippets útiles y comandos (cheat sheet)
Generar clave (OpenSSH):
- ssh-keygen -t rsa -b 4096 -C “[email protected]”
Copiar pública al servidor (si tienes ssh y contraseña):
- ssh-copy-id usuario@mi-servidor
Convertir a .ppk (Windows PuTTYgen GUI) o usar puttygen (si disponible):
- puttygen id_rsa -o id_rsa.ppk
Copiar archivo al teléfono (si tienes ADB o conector):
- adb push id_rsa.ppk /sdcard/sshtunnel/key/HomeRouter.ppk
Nota: algunos pasos requieren herramientas específicas del sistema operativo.
Glosario rápido (1 línea cada término)
- SSH: protocolo para conexiones seguras.
- SOCKS: protocolo de proxy que redirige tráfico TCP/UDP según versión.
- Proxy global: todo el tráfico del sistema pasa por la proxy.
- DNS Proxy: reenvío de consultas DNS a través del túnel.
Seguridad adicional y mitigaciones de riesgos
Riesgos:
- Tu servidor puede ver y registrar tráfico; mitiga limitando servicios en el servidor y cifrando contenido en origen (HTTPS).
- Si el servidor es comprometido, el atacante podrá monitorizar tu tráfico.
Mitigaciones:
- Usa claves largas y seguras.
- Mantén el servidor actualizado.
- Habilita autenticación de dos factores si el servidor y la infraestructura lo permiten.
Comparación breve: SSH Tunnel vs VPN (calidad vs esfuerzo)
- Implementación: SSH Tunnel requiere SSH; VPN (WireGuard/OpenVPN) requiere servicio VPN.
- Compatibilidad: VPN cubre todo el tráfico y UDP; SSH Tunnel puede fallar con UDP y apps que no respetan proxy.
- Privacidad: ambos ofrecen cifrado; el operador del servidor puede ver el tráfico en ambos casos.
Decisión: si tienes root y un servidor SSH, SSH Tunnel es rápido y ligero. Si buscas compatibilidad total sin root, VPN es la opción.
Mini FAQ
Q: ¿Funciona sin root? A: Muchas funciones avanzadas (Global Proxy) requieren root. Algunas apps SOCKS funcionan sin root para aplicaciones que permiten configurar proxy manual.
Q: ¿Por qué necesito convertir la clave a .ppk? A: SSH Tunnel históricamente soporta claves en formato PuTTY (.ppk). Si generas claves con OpenSSH, conviértelas con PuTTYgen.
Q: ¿Se protege todo el tráfico móvil? A: Solo si activas Global Proxy. Con Individual Proxy solo las apps seleccionadas pasan por el túnel.
Resumen y próximos pasos
Este tutorial cubre la configuración completa de SSH Tunnel for Android para cifrar el tráfico de tu teléfono mediante un servidor SSH. Pasos clave:
- Prepara el servidor SSH y tus credenciales.
- Configura la app y, preferible, usa claves privadas en .ppk.
- Activa SOCKS y DNS Proxy.
- Verifica con “what is my ip” y pruebas de DNS.
- Aplica endurecimientos en el servidor y mantén buenas prácticas.
Próximos pasos sugeridos:
- Si necesitas compatibilidad UDP o no puedes rootear, evalúa WireGuard o OpenVPN.
- Implementa monitoreo y alertas mínimas en tu servidor SSH.
Importante: esta guía describe prácticas técnicas. Modifica configuraciones con precaución. Si administras datos sensibles o estás sujeto a regulaciones, consulta con un especialista en seguridad o legal.
Materiales similares

Clave Mawizeh Slum DMZ — Warzone 2

Diseño de personajes 3D: guía práctica

Transferir archivos grandes con FileWhopper

Enruta todo tu tráfico Android por un túnel SSH

Usar Clownfish Voice Changer en Discord
