Главный риск при усилении SSH — закрыть доступ самому себе. Поэтому старую сессию не отключайте, пока новая не вошла по ключу и не выполнила sudo.
Безопасный порядок
Создайте ключ на клиенте: ssh-keygen -t ed25519 -a 64. Передайте публичную часть через ssh-copy-id user@server, войдите во второй вкладке и проверьте fingerprint сервера.
Создайте отдельный файл /etc/ssh/sshd_config.d/90-hardening.conf:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 4
AllowUsers deploy admin
Имена должны соответствовать реальным аккаунтам. До reload выполните sshd -t; команда без вывода означает корректный синтаксис. Затем используйте systemctl reload ssh и ещё раз откройте новую сессию.
Дополнительные меры
Firewall должен ограничивать порт нужными сетями, если это возможно. Fail2ban снижает шум, но не заменяет ключи. Закрытый ключ защищайте passphrase и ssh-agent; не копируйте один приватный ключ на все компьютеры. Отдельные ключи проще отозвать.
Смена порта уменьшает мусор в журнале, но не является защитой. Не отключайте проверку host key: именно она помогает заметить подмену сервера.
Официальные источники