Свежий сервер с открытым 22-м портом начинают перебирать в течение часа. Это не про вас лично — это фоновый шум интернета, и единственный вопрос в том, насколько удачным окажется ваш пароль.
Почему ключ надёжнее
Пароль — это то, что можно угадать. Ключ длиной 256 бит угадать нельзя: перебор занял бы время, несопоставимое с возрастом вселенной. Плюс приватная часть никогда не покидает вашу машину, а значит её нечего перехватить по дороге.
Настройка
Создайте пару на своей машине, не на сервере:
ssh-keygen -t ed25519 -C "рабочий ноутбук"
ed25519 короче и быстрее RSA при той же стойкости. Дальше скопируйте публичную часть:
ssh-copy-id root@ваш-ip
Закройте вход по паролю
Пока пароль работает, ключ ничего не защищает — перебор просто пойдёт мимо. В /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-password
И перезапустите: systemctl restart sshd.
Проверьте вход в новом окне терминала, не закрывая текущее. Если что-то сломано, у вас останется рабочая сессия, чтобы откатить. Иначе останется только режим восстановления.
Если ключ потерян
Загрузитесь в rescue из панели, смонтируйте диск и допишите новый ключ в ~/.ssh/authorized_keys. Данные при этом не страдают — rescue поднимается отдельной системой в памяти.
