191 lines
4.9 KiB
Markdown
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! |