# Configuración de PC3 (Servidor Linux Intermediario) # Instrucciones para configurar 91.99.210.72 ## 🖥️ **Requisitos Mínimos en PC3** PC3 solo necesita ser un **servidor Linux estándar con SSH**. No requiere software especial. ### **Software Necesario (probablemente ya instalado):** - ✅ **SSH Server** (openssh-server) - ✅ **Acceso de red** (puede recibir conexiones) ## 🔧 **Verificación y Configuración** ### **1. Verificar SSH Server** ```bash # Verificar si SSH está instalado y ejecutándose sudo systemctl status ssh # o en sistemas más antiguos: sudo service ssh status # Si no está instalado: sudo apt update sudo apt install openssh-server # Iniciar SSH si no está activo: sudo systemctl start ssh sudo systemctl enable ssh ``` ### **2. Verificar Puerto SSH** ```bash # Verificar que SSH escucha en puerto 22 sudo netstat -tlnp | grep :22 # o sudo ss -tlnp | grep :22 # Debería mostrar algo como: # tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN ``` ### **3. Configurar Clave SSH (Método Recomendado)** ```bash # En PC3, agregar tu clave pública SSH mkdir -p ~/.ssh chmod 700 ~/.ssh # Copiar tu clave pública al archivo authorized_keys # (La clave pública correspondiente a la privada que tienes) nano ~/.ssh/authorized_keys # Establecer permisos correctos chmod 600 ~/.ssh/authorized_keys ``` ### **4. Configuración SSH Opcional (para mayor seguridad)** ```bash # Editar configuración SSH sudo nano /etc/ssh/sshd_config # Configuraciones recomendadas: Port 22 # Puerto SSH (puedes cambiarlo) PermitRootLogin yes # Solo si usas root (no recomendado) PubkeyAuthentication yes # Autenticación por clave pública PasswordAuthentication no # Deshabilitar password (más seguro) GatewayPorts yes # IMPORTANTE: Permitir túneles reversos AllowTcpForwarding yes # IMPORTANTE: Permitir forwarding # Reiniciar SSH después de cambios sudo systemctl restart ssh ``` ## ⚠️ **Configuración CRÍTICA para Túneles Reversos** La configuración más importante es **GatewayPorts**: ```bash # En /etc/ssh/sshd_config debe estar: GatewayPorts yes # Esto permite que los túneles SSH reversos sean accesibles # desde cualquier IP, no solo localhost ``` ### **Sin GatewayPorts:** - Túneles solo accesibles desde localhost en PC3 - PC2 NO puede conectar ### **Con GatewayPorts yes:** - Túneles accesibles desde cualquier IP - PC2 SÍ puede conectar a 91.99.210.72:puerto ## 🔥 **Firewall (si está habilitado)** ```bash # Verificar si hay firewall activo sudo ufw status # o sudo iptables -L # Si ufw está activo, permitir SSH: sudo ufw allow 22 # Permitir rango de puertos para túneles (9000-9999) sudo ufw allow 9000:9999/tcp # Si usas iptables directamente: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 9000:9999 -j ACCEPT ``` ## 🧪 **Verificar Configuración Desde PC1** Desde PC1 (WSL2), probar la conexión SSH: ```bash # Probar conexión SSH básica ssh -i certs/ssh_private_key usuario@91.99.210.72 # Probar túnel SSH reverso ssh -i certs/ssh_private_key -R 9999:localhost:8080 usuario@91.99.210.72 # Desde otra terminal en PC3, verificar que el puerto esté abierto: netstat -tlnp | grep 9999 ``` ## 📋 **Checklist de Configuración PC3** - [ ] ✅ SSH Server instalado y ejecutándose - [ ] ✅ Puerto 22 abierto y accesible - [ ] ✅ Tu clave pública en `~/.ssh/authorized_keys` - [ ] ✅ `GatewayPorts yes` en `/etc/ssh/sshd_config` - [ ] ✅ `AllowTcpForwarding yes` en SSH config - [ ] ✅ Firewall permite puerto 22 y rango 9000-9999 - [ ] ✅ Prueba de conexión SSH desde PC1 exitosa ## 🎯 **Configuración Mínima Rápida** Si PC3 es un servidor Linux básico, estos comandos bastan: ```bash # Instalar SSH si no está sudo apt update && sudo apt install -y openssh-server # Configurar SSH para túneles reversos echo "GatewayPorts yes" | sudo tee -a /etc/ssh/sshd_config echo "AllowTcpForwarding yes" | sudo tee -a /etc/ssh/sshd_config # Reiniciar SSH sudo systemctl restart ssh # Permitir puertos en firewall sudo ufw allow 22 sudo ufw allow 9000:9999/tcp ``` ## 🔍 **Verificación Final** Desde PC2 (o cualquier PC externa), verificar acceso: ```bash # Probar acceso SSH ssh usuario@91.99.210.72 # Una vez que PC1 establezca túneles, probar acceso a puertos: telnet 91.99.210.72 9001 curl http://91.99.210.72:9001 ``` ## 📞 **Soporte de Proveedores Cloud** Si PC3 está en la nube: ### **AWS EC2:** - Configurar Security Group para puerto 22 y 9000-9999 - Usar Amazon Linux o Ubuntu ### **Google Cloud:** - Configurar reglas de firewall para puertos necesarios - Usar Compute Engine con Ubuntu/Debian ### **Digital Ocean:** - Droplet básico con Ubuntu - Configurar Cloud Firewall ### **VPS Genérico:** - Cualquier VPS Linux con acceso SSH - Configurar según las instrucciones de arriba --- **En resumen:** PC3 solo necesita ser un servidor Linux con SSH configurado para túneles reversos. ¡La configuración es muy simple!