Усиление защиты SSH
2026-08-21
LinuxSSHбезопасность
Дефолтный sshd разрешает вход root по паролю. Боты брутфорсят это круглосуточно — проверь: sudo lastb | head. Сначала создай отдельного пользователя с sudo, потом закрой вход по паролю — три строки в конфиге.
Шаг 0: создай пользователя с sudo (если пока заходишь как root)
Без него после PermitRootLogin no останешься без доступа.
sudo adduser tashirka # задай пароль, остальное — Enter
sudo usermod -aG sudo tashirka # Debian/Ubuntu; для RHEL/CentOS замени sudo на wheel
id tashirka # проверка: в группах должен быть sudo/wheel
Переключись на него:
su - tashirka
Если пользователь уже есть — пропусти шаг.
Шаг 1: добавь ключ этому пользователю (иначе закроешь себе вход!)
# с локальной машины — ключ скопируется новому пользователю
ssh-copy-id tashirka@host
Или вручную на сервере (под пользователем tashirka):
mkdir -p ~/.ssh && echo "ssh-ed25519 AAAAC3...твой_ключ" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
Правка конфига
sudo nano /etc/ssh/sshd_config
Установи (или раскомментируй):
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Применение с проверкой синтаксиса
sudo sshd -t && sudo systemctl restart sshd
sshd -t обязателен: опечатка в конфиге = сервер недоступен после рестарта. Рестарт не рвёт текущую сессию — сначала проверь вход новым окном терминала, потом закрывай старое.
Проверка
ssh root@host # → Permission denied
ssh tashirka@host # → входит по ключу
sudo sshd -T | grep -E "permitrootlogin|passwordauthentication"