но теперь вопрос, у меня нет iptables, его надо ставить? или сам fail2ban будет решать это?
iptables у вас есть, а в данном случае просто ставите fail2ban, и можно ничего не настраивать, он следит за логами и проверяет неудачные аутентификации, по умолчанию 5 неудачных попыток и в бан. Выставьте например 3 попытки. Хотя обычно все заканчивается на подборе только логина.
Можете потом удостовериться, попытавшись залогиниться извне с неправильным паролем (только с рабочего компа со статикой не делайте, будете ждать срок бана или разбанивать вручную).
ПС: сейчас глянул логи своего SSH, девственно пусто на счет перебора пароля, только мой комп и рабочий ip
Для динамических адресов скорее всего так и будет. Но попробуйте привязаться к например no-ip или dyndns, там как будто ждут вас.
Кстати, как вы определяете свой адрес, чтобы соединяться извне?