Практическое задание

Эта задача — шаг 5 курса «Новый сервер: настройка с нуля»

Закрой пароли и root в sshd

средне~7 мин

Образ провайдера пришёл с открытым SSH: в /etc/ssh/sshd_config разрешён вход под root, а cloud-init положил свой фрагмент в /etc/ssh/sshd_config.d/, включающий вход по паролю. Ключи команде ты уже раздал — сделай так, чтобы итоговая конфигурация sshd запрещала и вход по паролю, и вход под root (значение no у обоих).

Что потренируешь:
  • sshd_config
  • sshd_config.d
  • Include
  • первое вхождение
  • sshd -T

Разбор темы

Конфигурация SSH-сервера — это /etc/ssh/sshd_config плюс всё, что подключено директивой Include. В Ubuntu она стоит в самом начале файла и подтягивает /etc/ssh/sshd_config.d/*.conf, куда любят писать cloud-init и пакеты. Для большинства директив sshd использует первое встреченное значение, поэтому фрагмент из sshd_config.d/ побеждает строку ниже в основном файле — дописать нужное в конец недостаточно. Надёжный способ узнать, что реально применится, — sshd -T: он печатает итоговую конфигурацию после всех Include, а sshd -t проверяет синтаксис.

Что проверяется

  1. конфигурация sshd валидна
  2. вход по паролю запрещён
  3. вход под root запрещён

Как это выглядит