как настроить SSH без пароля по ключу и закрыть брутфорс
Рейтинг: 48.7% · 7 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- seniorwarlock
- Сообщения: 57
- Зарегистрирован: 12 май 2026, 00:23
как настроить SSH без пароля по ключу и закрыть брутфорс
Поднял VPS, сразу в auth.log увидел тысячи попыток брутфорса на root по SSH. Хочу нормально закрыть: настроить вход только по ключу, отключить root login и вообще заблокировать левые IP. Знаю что это базовые вещи, но хочу сделать правильно и не отрезать себя от сервера в процессе. Подскажите последовательность действий.
✔ Лучший ответ сформирован автоматически — svelte88
Для блокировки брутфорса ставь fail2ban — это стандарт де-факто. Устанавливается из пакетов, конфиг минимальный: apt install fail2ban Создай /etc/fail2ban/jail.local: [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600 Это будет банить на час любой IP с 3 неудачными попытками за 10 минут. Проверить статус: fail2ban-client status…
- middleoverflow
- Сообщения: 8
- Зарегистрирован: 11 май 2026, 15:19
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
Главное правило — сначала проверяй что ключи работают, ПОТОМ отключай парольную аутентификацию. Порядок такой: 1) генеришь ключ на локалке (ssh-keygen -t ed25519), 2) копируешь на сервер (ssh-copy-id user@server), 3) проверяешь что заходишь по ключу в отдельном терминале НЕ закрывая текущую сессию, 4) только после этого меняешь sshd_config.
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
Вот что менять в /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizationKeysFile .ssh/authorized_keys
Port 2222
Смену порта со стандартного 22 на что-то нестандартное резко снижает шум в логах — не безопасность сама по себе, но жить приятнее. После изменений: systemctl reload sshd, и обязательно проверь в новом терминале перед тем как закрыть старый.
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizationKeysFile .ssh/authorized_keys
Port 2222
Смену порта со стандартного 22 на что-то нестандартное резко снижает шум в логах — не безопасность сама по себе, но жить приятнее. После изменений: systemctl reload sshd, и обязательно проверь в новом терминале перед тем как закрыть старый.
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
✔ Лучший ответ — сформирован автоматически
Для блокировки брутфорса ставь fail2ban — это стандарт де-факто. Устанавливается из пакетов, конфиг минимальный:
apt install fail2ban
Создай /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
Это будет банить на час любой IP с 3 неудачными попытками за 10 минут. Проверить статус: fail2ban-client status sshd — увидишь счётчики и забаненные IP.
apt install fail2ban
Создай /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
Это будет банить на час любой IP с 3 неудачными попытками за 10 минут. Проверить статус: fail2ban-client status sshd — увидишь счётчики и забаненные IP.
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
Дополнительно стоит настроить ufw если ещё не сделал:
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Если знаешь свой домашний IP — можно разрешить SSH только с него: ufw allow from 1.2.3.4 to any port 2222. Но тогда при смене IP сам себя заблокируешь — держи в уме.
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Если знаешь свой домашний IP — можно разрешить SSH только с него: ufw allow from 1.2.3.4 to any port 2222. Но тогда при смене IP сам себя заблокируешь — держи в уме.
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
Ещё лайфхак: AllowUsers yourusername в sshd_config — только этот пользователь сможет логиниться по SSH вообще, даже если кто-то взломает другой аккаунт. Плюс настрой ClientAliveInterval 300 и ClientAliveCountMax 2 — будет отключать зависшие сессии через 10 минут.
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
Добавлю грабли, на которые сам недавно наступил: на свежих Ubuntu sshd запускается через systemd socket activation, и Port в sshd_config просто игнорируется. Менял порт, делал reload — а он упорно слушает 22. Лечится либо через systemctl edit ssh.socket, либо отключением сокета и включением классического сервиса. Полчаса жизни ушло, пока понял, что конфиг тут вообще ни при чём.
- archmaster
- Сообщения: 44
- Зарегистрирован: 15 май 2026, 01:57
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
@asyncmonk, со сменой порта на 2222 есть нюанс: это непривилегированный порт, и если sshd вдруг упадёт, его сможет занять любой локальный процесс без рута. Если уж переносить — лучше в диапазон до 1024. И второе: после смены порта надо не забыть поправить port в fail2ban-джейле, иначе он будет старательно охранять 22, а весь брут пойдёт на 2222 мимо него.
- jennifer26
- Сообщения: 11
- Зарегистрирован: 14 май 2026, 04:39
Re: как настроить SSH без пароля по ключу и закрыть брутфорс
@svelte88, конфиг рабочий, но на Debian 12 без rsyslog файла /var/log/auth.log вообще нет — всё уходит в journald, и fail2ban с таким logpath молча сидит с нулевыми счётчиками. Нужно добавить в jail.local строку backend = systemd, тогда он читает журнал напрямую. Сам однажды неделю жил с «настроенным» fail2ban, который не забанил ни одного IP.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- vLLM в проде падает с OOM при всплесках трафика — как правильно настроить KV-cache и batching?
8 ответов · 82 просмотров
-
-
-
-
- Как защитить REST API от перебора и брутфорса без блокировки легитимных пользователей
6 ответов · 67 просмотров
-
Похожие запросы:
как настроить ssh вход по ключу без пароляШифрование диска на Mac
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость