1. На порты управления обязательно: port-knocking
2. Не нужно использовать ключи взамен пароля.
3. Нужно использовать здравый смысл, поведенческий фильтр с ограничением по подсетям. Его можно использовать как перед подключением к SSH, так и сразу после подключения (например, промежуточным логин-скриптом проверить: предоставить доступ с верным паролем или нет).
Не забывайте, что кроме пары логин-пароль и ключей, есть много других способов аутентификации.
4. port-knocking:
https://www.vultr.com/docs/port-knocking-on-debian
Подключение из putty с port-knocking "из коробки":
https://putty.org.ru/
5. Также, можно поставить AppArmor (
что это?) для управления доступом приложений к системе:
https://wiki.debian.org/AppArmor/HowToUse
6. Защита web-сайтов от большинства видов атак (включая правила исполнения кода):
sitecoder.blogspot.com/2016/05/website-protection-...