Безопасность: запрет входа под root через SSH
Дата публикации: 18.05.2026

Безопасность: запрет входа под root через SSH

Хочу себе такие же кнопки
ccb9a536

Введение

Вы уже запустили сервер за 5 минут на 🏰 VDSina и хотите, чтобы он оставался под надёжной защитой. Самый простой, но часто упускаемый из‑за изъедин — запрет входа под root через SSH. После этого вы избавляетесь от риска автоматических атак, которые целятся именно в учётную запись root. В этом уроке вы узнаете, почему это важно, какие файлы и параметры задействованы, и как правильно настроить доступ для обычных пользователей.


Почему нельзя входить как root через SSH

Проблема Что происходит Какой риск
Брут‑форс Автоматические сканеры перебирают пароли для root Полный контроль над сервером при удачном подборе
Логи Все действия root пишутся в один файл Трудно отследить, кто именно сделал изменение
Ошибки Одна команда от root может нанести огромный вред Потеря данных, компрометация сервиса

Аналогия: представьте, что у вас есть главный ключ от дома, который хранится в почтовом ящике у всех соседей. Если кто‑то подойдёт к ящику, он сразу получит доступ к вашему дому. Запрет root‑входа — это как убрать главный ключ из публичного доступа и дать каждому члену семьи собственный, ограниченный ключ.


Что нужно изменить в конфигурации SSH

1. Файл sshd_config

Основной файл настроек демона SSH/etc/ssh/sshd_config. В нём находятся параметры, отвечающие за аутентификацию, порт, протоколы и, конечно, за вход под root.

Параметр Описание Рекомендованное значение
PermitRootLogin Разрешает ли вход под root no
PasswordAuthentication Разрешает ли парольную аутентификацию no (если используете ключи)
AllowUsers / AllowGroups Список пользователей/групп, которым разрешён вход user1 user2 (по необходимости)

2. Создание отдельного пользователя

# Создаём пользователя devuser и добавляем его в группу sudo
adduser devuser
usermod -aG sudo devuser

Почему именно sudo? Пользователь devuser получит возможность выполнять команды от имени root, но только после ввода собственного пароля. Это добавляет ещё один уровень контроля.

3. Настройка публичных ключей

  1. На клиенте (вашем ноутбуке) генерируем пару ключей, если их ещё нет:

    ssh-keygen -t ed25519 -C "your_email@example.com"
  2. Копируем публичный ключ на сервер:

    ssh-copy-id devuser@your_server_ip

    После этого в домашней папке пользователя появится файл ~/.ssh/authorized_keys.

  3. Проверяем права:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

4. Перезапуск демона SSH

systemctl restart sshd
# или
service ssh restart

Важно: перед перезапуском убедитесь, что у вас открыта ещё одна сессия с уже настроенным ключом. Иначе вы можете потерять доступ к серверу.


Пошаговый чек‑лист

  1. Создать обычного пользователя (adduser).
  2. Добавить его в sudo (usermod -aG sudo).
  3. Сгенерировать и скопировать SSH‑ключи (ssh-keygen, ssh-copy-id).
  4. Отредактировать /etc/ssh/sshd_config:
    • PermitRootLogin no
    • PasswordAuthentication no (если используете только ключи)
    • При необходимости AllowUsers devuser.
  5. Перезапустить сервис (systemctl restart sshd).
  6. Проверить подключение (ssh devuser@ip).

Если всё работает, вы успешно закрыли “запасную дверь” для злоумышленников.


Как проверить, что root‑вход действительно запрещён

ssh root@your_server_ip

Ожидаемый вывод:

Permission denied (publickey).

Если вы видите такой ответ, значит сервер отклоняет попытку входа под root. Если же запрос проходит, проверьте ещё раз файл sshd_config и перезапустите службу.


Дополнительные меры hardening

Мера Что делает Как включить
Fail2Ban Блокирует IP после нескольких неудачных попыток входа apt install fail2ban → настроить /etc/fail2ban/jail.local
Port knocking Открывает порт SSH только после специального «стука» Установить knockd и настроить правила
Two‑factor authentication (2FA) Требует второй фактор (TOTP) Установить google-authenticator и добавить в sshd_config
Restricting IPs Разрешает вход только с определённых IP‑адресов sshd_config:AllowUsers devuser@192.168.1.*`

Эти меры не обязательны, но они делают ваш сервер почти неприступным.


Практика для закрепления

  1. Создайте пользователя testuser, добавьте его в группу sudo, скопируйте публичный ключ и проверьте, что вход под root отключён.
  2. Измените sshd_config, включив PasswordAuthentication yes. Попробуйте войти по паролю и объясните, почему это ослабляет безопасность.
  3. Настройте Fail2Ban для защиты от брут‑форса. Сымулируйте несколько неудачных попыток входа и проверьте, что ваш IP попал в черный список.
  4. Создайте таблицу со всеми изменёнными параметрами в sshd_config и их значениями. Объясните, как каждый из них влияет на безопасность.
  5. Проведите аудит: выполните ssh -v devuser@ip и проанализируйте вывод, указывающий на используемый метод аутентификации.

Заключение

Запрет входа под root через SSH — это базовый, но мощный шаг в укреплении сервера. Он уменьшает поверхность атаки, упрощает аудит и даёт вам гибкость в управлении правами. Применив описанные практики, вы сделаете ваш VDSina‑сервер надёжным и готовым к работе в продакшене.

Если хотите узнать больше о настройке безопасности на VDSina, посетите официальную страницу: [VDSina – безопасность]https://vdsina.ru/?partner=5095).

Удачной администрции!


Введение: чем VDS отличается от шаред-хостинга и зачем это веб-мастеру
Как правильно выбрать тариф: CPU, RAM, NVMe или SSD, канал
Выбор операционной системы: почему Ubuntu 22.04/24.04 — стандарт индустрии
Регистрация домена и первичная настройка DNS-записей (A, AAAA, CNAME)
Генерация SSH-ключей на локальном компьютере (Windows/Mac/Linux)
Добавление публичного ключа на сервер и первый вход по SSH
Отключение входа по паролю и запрет авторизации для root
Смена стандартного порта SSH для снижения шума в логах
Создание основного рабочего пользователя с правами sudo
Базовое обновление системы и установка необходимых утилит (curl, wget, git, htop)
Настройка часового пояса и синхронизация времени (NTP)
Установка и базовая настройка фаервола UFW
Разрешение только необходимых портов (SSH, HTTP, HTTPS)
Установка Fail2Ban для защиты от перебора паролей
Настройка правил Fail2Ban для SSH и веб-сервера
Знакомство с Docker: установка движка и CLI
Установка Docker Compose для управления мульти-контейнерными приложениями
Основы изоляции: почему каждый проект должен быть в своем контейнере
Подготовка файловой структуры сервера для удобного хранения проектов
Развертывание Nginx как обратного прокси-сервера через Docker
Настройка конфигурации Nginx для статических сайтов
Установка PHP-FPM в отдельном контейнере
Связка Nginx и PHP-FPM через внутреннюю Docker-сеть
Оптимизация настроек PHP-FPM (pm.max_children, memory_limit) под нагрузку
Установка MariaDB/MySQL в изолированном контейнере
Безопасное хранение паролей от БД через переменные окружения (.env)
Подключение к базе данных из внешнего клиента (DBeaver/Navicat) через туннель
Установка Redis для кэширования запросов и сессий
Интеграция Redis с PHP-приложением для ускорения работы
Автоматическая выдача SSL-сертификатов через Certbot (Let's Encrypt)
Настройка автопродления SSL-сертификатов по крону
Принудительный редирект с HTTP на HTTPS в Nginx
Включение gzip и brotli сжатия для ускорения загрузки страниц
Настройка кэширования статики (browser caching) в заголовках Nginx
Защита от простых DDoS и ботов: модуль limit_req в Nginx
Настройка резервного копирования баз данных (mysqldump) по расписанию
Настройка резервного копирования файлов проектов (tar)
Отправка бэкапов на удаленное хранилище (S3-compatible storage или другой сервер)
Ротация и очистка старых логов, чтобы не забить диск
Мониторинг нагрузки: установка и настройка htop и iotop
Просмотр логов в реальном времени: tail, grep и journalctl
Установка простого мониторинга доступности (Uptime Kuma или скрипт в Telegram)
Изоляция арбитражных инструментов: запуск ботов в отдельных контейнерах
Установка SOCKS5/HTTP прокси (3proxy) внутри Docker для мультиаккаунтинга
Настройка аутентификации и ограничения доступа к прокси по IP
Проверка анонимности и работы прокси-сервера
Оптимизация ядра Linux (sysctl.conf) для высоких нагрузок и сетевых соединений
Настройка swap-файла: когда он нужен, а когда вредит
Чек-лист финальной проверки безопасности перед запуском проекта
План действий при взломе или падении сервера: восстановление из бэкапа
АПТЕЧКА ДЛЯ ЖИВОТНЫХ
Автомобили Германии — FORD, MERSEDES, VW, IVECO
Чат рулетка 2026: чаты, где каждый момент — шанс
Чат рулетка онлайн
Чат с Аней: психологический разговор
Чатрулетка: новый способ общения
Чай и кофе: сила вкуса
Детские игрушки из безопасных материалов
Эксплуатация шин: Рекомендации по использованию
Фототехника для пейзажей
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать Vdsina вечный хостинг для своего проекта
Компоненты безопасности IP
Конкуренция на российском автомобильном рынке
Онлайн генератор паролей для Windows
Оптимизация обработки форм GEO проекта
Сервер для социальных сетей: Безопасность, Скорость, Изоляция
Смешные моменты
Сравнение Arsys хостинг сервисов для блогеров с WordPress на 2023 год
Весь экран под циферблат
рейтинг хостингов 2026 Быстрые VDS серверы