Español

Proteger la conexión SSH

2 min
Hosting VPS/VDS

Proteger la conexión SSH contra ataques de fuerza bruta

El puerto SSH predeterminado (22) es un objetivo frecuente de ataques automatizados. Esta guía explica cómo cambiar el puerto y reforzar la configuración de SSH.

📋 Requisitos previos

  • VPS con acceso root o sudo
  • Conexión SSH activa
  • UFW instalado y configurado (ver Instalar UFW)

⚠️ IMPORTANTE: Mantenga una sesión SSH abierta

Importante: Antes de empezar, mantenga una sesión SSH activa. Abra dos terminales SSH en paralelo: una para trabajar y otra de respaldo.

🔧 Cambiar el puerto SSH

Paso 1: Elegir un nuevo puerto

Elija un puerto entre 1024 y 65535. Evite 22, 80, 443, 3306 y 5432. Ejemplos: 2222, 2200, 1022.

Paso 2: Modificar la configuración

Bash
# Editar el archivo de configuración SSH sudo nano /etc/ssh/sshd_config

Paso 3: Cambiar el puerto

# Antes
#Port 22

# Después (reemplace 2222 por su puerto)
Port 2222

Paso 4: Guardar y verificar

Bash
sudo sshd -t

Paso 5: Permitir el nuevo puerto en UFW

Bash
# Permitir el nuevo puerto SSH (reemplace 2222) sudo ufw allow 2222/tcp # Opcional: eliminar el puerto 22 sudo ufw delete allow 22/tcp sudo ufw reload sudo ufw status | grep 2222

Paso 6: Reiniciar SSH y probar

Bash
sudo systemctl restart sshd sudo systemctl status sshd

En una nueva terminal, pruebe la conexión:

Bash
ssh -p 2222 user@your-ip

🔒 Opciones de seguridad adicionales

Desactivar el acceso root

Importante: Asegúrese de tener un usuario con sudo antes de aplicar este cambio.

Bash
sudo nano /etc/ssh/sshd_config # PermitRootLogin no sudo sshd -t sudo systemctl restart sshd

Limitar intentos de conexión

Bash
MaxAuthTries 3 LoginGraceTime 30

Desactivar autenticación por contraseña (solo claves SSH)

Bash
PasswordAuthentication no PubkeyAuthentication yes

Advertencia: Solo active esto si ya ha configurado y probado su clave SSH.

Configuración recomendada

Port 2222
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 30
Protocol 2
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2

Tras cada modificación:

Bash
sudo sshd -t sudo systemctl restart sshd

🔄 Crear un usuario con sudo

Bash
sudo adduser myuser sudo usermod -aG sudo myuser su - myuser sudo whoami

✅ Verificación final

Bash
sudo systemctl status sshd sudo ss -tlnp | grep ssh sudo sshd -T | grep port sudo tail -f /var/log/auth.log

🛡️ Protección adicional con fail2ban

Bash
sudo apt update sudo apt install fail2ban -y sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local

Configuración recomendada:

INI
1[sshd] 2enabled = true 3port = 2222 4maxretry = 3 5bantime = 3600 6findtime = 600
Bash
sudo systemctl start fail2ban sudo systemctl enable fail2ban sudo fail2ban-client status sshd

🆘 Solución de problemas

No puedo conectarme por SSH

  1. Use su sesión de respaldo
  2. Si no tiene sesión de respaldo: consola VNC/KVM del panel o soporte Infrawire
  3. Restaure temporalmente Port 22 en /etc/ssh/sshd_config

El puerto SSH no responde

Bash
sudo ss -tlnp | grep ssh sudo ufw status | grep 2222 sudo journalctl -u sshd -n 50

📚 Recursos adicionales

❓ Preguntas frecuentes

P: ¿Qué puerto debo elegir?
R: Entre 1024 y 65535, evitando puertos comunes. 2222 o 2200 son buenas opciones.

P: ¿Es necesario cambiar el puerto SSH?
R: Muy recomendable. Reduce significativamente los ataques automatizados.

P: ¿Cómo conectarme con el nuevo puerto?
R: ssh -p 2222 user@your-ip


¡Buena seguridad! 🚀

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones

Utilizamos cookies

Utilizamos cookies analíticas para mejorar su experiencia en nuestro sitio. No vendemos datos a terceros. Más información en nuestra política de privacidad.