Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ssh-hardening — ENDURECIMIENTO DE SSH | Kitploit
Herramientas/GitHubGitHub/spookey007/ssh-hardening
Utilidades de Propósito GeneralScripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad de RedesAutenticación
GitHubspookey007/ssh-hardening

ssh-hardening

ENDURECIMIENTO DE SSH

Ver Repositorio
3hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Fortalecimiento de SSH

Bloquea SSH en Debian/Ubuntu de una sola ejecución: nuevo puerto, sin inicio de sesión como root, autenticación basada en clave, UFW y Fail2Ban opcionales.


Lo que verás

Cuando ejecutes el script, detecta tu SO y muestra la configuración antes de preguntar si continuar:

SSH Hardening — script prompt


Inicio rápido (paso a paso)

1️⃣ Instalar git (si es necesario)

En Debian/Ubuntu:

root@kitploit:~
sudo apt-get install -y git

2️⃣ Clonar el repositorio y entrar en la carpeta

root@kitploit:~
rm -rf ssh-hardening
git clone https://github.com/spookey007/ssh-hardening.git
cd ssh-hardening

Ejecuta esto cada vez que quieras la última versión del script.

3️⃣ Hacer ejecutables los scripts

root@kitploit:~
chmod +x ssh_harden.sh script.sh

Si te saltas esto, puede que obtengas "command not found" al ejecutar ./ssh_harden.sh. Si ocurre, usa el paso 5 con sudo bash ssh_harden.sh.

4️⃣ Crear una clave SSH en tu PC (para pegarla como SSH_PUB_KEY)

Linux / macOS

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

Presiona Enter para la ruta por defecto (~/.ssh/id_ed25519). Opcional: establece una frase de contraseña.

Muestra tu clave pública (cópiala en SSH_PUB_KEY):

root@kitploit:~
cat ~/.ssh/id_ed25519.pub

Windows (PowerShell o Git Bash)

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

Presiona Enter para la ruta por defecto. Opcional: establece una frase de contraseña.

Muestra tu clave pública:

  • PowerShell: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
  • CMD: type %USERPROFILE%\.ssh\id_ed25519.pub

Copia toda la línea (empieza con ssh-ed25519 ...). Ese es tu SSH_PUB_KEY.

5️⃣ Ejecutar el script como root

Reemplaza los valores con los tuyos y luego ejecuta:

root@kitploit:~
sudo SSH_USER=kamaileo \
     SSH_PASS='TuContraseñaFuerte123!' \
     SSH_PORT=49221 \
     PORTS="5060,5061,10000-20000" \
     SSH_PUB_KEY="ssh-ed25519 AAAA... tu@tumaquina" \
     ./ssh_harden.sh

Si obtienes "command not found", usa:

root@kitploit:~
sudo bash ssh_harden.sh

(Con los mismos SSH_USER=... SSH_PASS=... etc. delante).

6️⃣ Seguir las indicaciones

  • Confirma la configuración (usuario, puerto, clave).
  • Elige Y o n para UFW y Fail2Ban.

7️⃣ Probar el inicio de sesión (antes de cerrar tu sesión actual)

En una terminal nueva, conéctate usando el nuevo puerto (no el 22):

root@kitploit:~
ssh -p 49221 kamaileo@TU_IP_DEL_SERVIDOR

Usa el puerto y el usuario que configuraste. Cierra la sesión original solo después de confirmar que el inicio de sesión y sudo funcionan.


Consejos para nuevos usuarios

  • Usa el nuevo puerto cada vez. Después del endurecimiento, SSH ya no está en el puerto 22. Conéctate siempre con:

    root@kitploit:~
    ssh -p <TU_PUERTO> <USUARIO>@<IP_SERVIDOR>
    

    Ejemplo: ssh -p 49221 [email protected]

  • Guarda la salida del script cuando termine. Al final, el script imprime un resumen con tu usuario, puerto, comando de conexión y si se estableció una contraseña. Copia o captura esa sección y guárdala en un lugar seguro. Si pierdes tu clave SSH, olvidas el puerto o la contraseña, ese registro te ayudará a recuperarte o reconectarte (p.ej. mediante consola/VNC con el mismo usuario y contraseña).

  • El script imprime todo lo que necesitas: usuario, puerto, estado de UFW/Fail2Ban y el comando exacto ssh -p .... Sin conjeturas.


Si el usuario ya existe

Si SSH_USER ya está en el servidor, el script no crea un nuevo usuario y no cambia la contraseña. Solo:

  • Asegura que el usuario esté en el grupo sudo
  • Actualiza ~/.ssh/authorized_keys si pasas SSH_PUB_KEY
  • Endurece la configuración de SSH, y opcionalmente UFW y Fail2Ban

Así que puedes ejecutarlo de nuevo para "endurecer solo" sin tocar la contraseña existente.


Lo que necesitas configurar


Compatibilidad de SO e instalación de git

En SO no compatibles, el script imprime Próximamente 😊 y sale sin hacer cambios.


Notas de seguridad

  • Establece SSH_PUB_KEY para que puedas seguir iniciando sesión después de deshabilitar la autenticación por contraseña.
  • Prueba en una VM o servidor desechable primero.
  • Mantén abierta tu sesión actual hasta que hayas probado ssh -p PUERTO usuario@servidor.

Invítame a un café

Si este script te ahorró tiempo o un dolor de cabeza, puedes apoyar el proyecto con un pequeño donativo.

BTC: 3L1Gc4avD4Bqoi2F9aq6z4heT13fXA8DZ9

Gracias de todos modos.


Autor

@spookey007

Descargar herramienta
VariableEjemploQué hace
SSH_USERkamaileoNombre de usuario (se crea si no existe; si existe, la contraseña no se modifica).
SSH_PASS'TuPass123!'Contraseña solo para usuarios nuevos. Usa una contraseña segura.
SSH_PORT49221Puerto SSH. Usarás: ssh -p 49221 usuario@servidor.
PORTS"5060,5061,10000-20000"Puertos adicionales para UFW (opcional).
SSH_PUB_KEY"ssh-ed25519 AAAA..."Tu clave pública. Muy recomendada para no quedarte bloqueado.
SOCompatibleProbadoInstalación de git
Debian 12 x64✅✅sudo apt-get install -y git
Debian 11/10, Ubuntu 24/22/20✅❌sudo apt-get install -y git
RHEL / Rocky / Alma / CentOS❌❌sudo yum install -y git
Fedora❌❌sudo dnf install -y git
Arch❌❌sudo pacman -Syu git
openSUSE❌❌sudo zypper install -y git