ssh bruteforce

просто и без лишних движений.
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 90 -j DROP
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

ssh

все по идеи есть в доке… но напишем значимое.

Рассоединение при отсутствии активности в шелле
ClientAliveInterval и ClientAliveInterval

ClientAliveCountMax – Параметр указывает на полное количество сообщений, отсылаемого ssh-сервером для распознавания активности ssh-клиента. По умолчанию это 3.
ClientAliveInterval – Параметр указывает на время ожидания в секундах. После указанного времени ssh-сервер отошлет сообщение-запрос клиенту. По умолчанию значение этого параметра — 0. Т.е сервер не отсылает сообщение для проверки.

LoginGraceTime — времени ожидания авторизации