ProxyTcpReverse/PC3_SETUP.md

191 lines
4.9 KiB
Markdown

# 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!