Вход по паролю — самое слабое место свежего сервера: боты сканируют интернет и круглосуточно долбят порт 22 подборами. Замена пароля на пару SSH-ключей полностью убирает эту поверхность атаки, и это первое, что стоит сделать на любом новом VPS. Вот весь процесс за несколько команд.
Как работают SSH-ключи
Вы генерируете пару: приватный ключ остаётся на вашем компьютере, публичный кладётся на сервер. Сервер проверяет любого подключающегося; ответить может только владелец соответствующего приватного ключа. Публичный ключ можно раздавать свободно — защищать нужно приватный.
1. Сгенерируйте пару ключей (на своём компьютере)
ssh-keygen -t ed25519 -C "you@example.com"
# нажмите Enter, чтобы принять путь по умолчанию (~/.ssh/id_ed25519)
# задайте passphrase для дополнительной защиты или оставьте пустым
Создаются два файла: ~/.ssh/id_ed25519 (приватный — не передавать) и ~/.ssh/id_ed25519.pub (публичный).
2. Скопируйте публичный ключ на сервер
Просто, если вход по паролю ещё работает:
ssh-copy-id root@YOUR.SERVER.IP
Нет ssh-copy-id? Сделайте вручную:
cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
3. Проверьте ключ, прежде чем что-либо менять
Откройте новый терминал и войдите — пароль сервера спрашивать не должны:
ssh root@YOUR.SERVER.IP
Если сработало, держите эту сессию открытой, пока делаете следующий шаг, чтобы ошибка не заблокировала вас.
4. Отключите вход по паролю
На сервере отредактируйте /etc/ssh/sshd_config:
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh # в некоторых дистрибутивах служба называется sshd
Теперь входит только ваш ключ, а постоянный шум перебора на порту 22 просто отскакивает.
Честные предостережения
- Никогда не отключайте пароли до того, как ключ заработал. Сначала подтвердите вход по ключу во втором терминале — это единственное правило, которое предотвращает блокировку.
- Сделайте бэкап приватного ключа и подумайте о втором ключе (ноутбук и запасной), чтобы потеря одного устройства не стала блокировкой.
- Если всё же заблокировались, консоль провайдера вернёт доступ — EQVPS даёт браузерную консоль каждому VPS именно для этого.
Что дальше
SSH-ключ — шаг первый закалённого сервера. Дополните его файрволом — см. как настроить файрвол UFW и как настроить fail2ban — и пройдите полный чеклист безопасности нового VPS, прежде чем что-либо выставлять наружу. На VPS без KYC с оплатой криптой ключ — ещё и способ сохранить доступ по-настоящему своим.
Комментарии
Пока нет комментариев. Будьте первым.