Fail2Ban trabaja escaneando constantemente los archivos de registro y toma acciones en base a lo establecido en su archivo de configuración predeterminado. Por ejemplo, podemos establecer que Fail2Ban deba prohibir la dirección IP de cualquier persona que intenta y no puede iniciar sesión 3 o más veces. Para ello, cada pocos segundos, Fail2Ban explora el registro de acceso al servidor y leer el registro de cada intento fallido. Cuando se alcanza el límite de 3 (o lo que configures tu mismo), establecerá inmediatamente una norma en iptables firewall para dicha dirección IP, de esta forma podra rechazar cualquier comunicación con el servidor.

Procedemos a instalar Fail2ban:

apt-get update
apt-get upgrade
apt-get install fail2ban

Configurar Fail2ban:

cd /etc/fail2ban/
cp jail.conf jail.local && nano jail.local
Por defecto fail2ban viene preconfigurado con un gran conjunto de opciones, así que sólo vamos a hacer algunos cambios. También te recomiendo que leas bien el archivo de configuración para ver todo lo que puedes hacer con fail2ban, en caso de que desees retocarlo en el futuro.
Busca y cambia en estas lineas del archivo de configuración, si lo deseas.
# add your ip to exceptions list so you dont accidentally lock youself out
ignoreip = 127.0.0.1/8 192.168.1.2 ---> La primera ip es localhost, no la cambies. La segunda seria la tuya propia, en caso de tener ip fija la cambias, si usas ip dinámica no debe poner nada.
#increase bantimee to an hour
bantime = 3600 ---> Tiempo de baneo.
.....

ssh
enabled = true ---> El Fail2ban para ssh esta activado.
port = 4444 ---> Si usas otro puerto ssh lo debes cambiar.
filter = sshd
logpath = /var/log/auth.log
maxretry = 6 ---> Intentos de ataque antes de banear, recomiendo 3 o 4.

Guardas y reinicias Fail2ban:

service fail2ban restart

Tienes muchas mas configuraciones pero esta es la básica. Incluso puedes configurar para que te mande un mail cuando recibes un ataque.