SystemdDoctor
служба не работает sshd конфигурация частое

sshd: Bad configuration option и отказ запуска

sshd разбирает конфигурацию при запуске и отказывается стартовать при любой ошибке. Опасность в том, что при неудачном перезапуске сервер остаётся без удалённого доступа — поэтому проверка sshd -t обязательна.

Что это значит

Частая причина после обновления — устаревшие параметры. Алгоритмы и настройки, поддерживавшиеся прежней версией, могут быть удалены: например HostKey для устаревшего типа ключа или снятые с поддержки алгоритмы.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Неизвестный или устаревший параметр

    Параметр удалён в новой версии или написан с опечаткой. sshd сообщает файл, строку и имя параметра.

  2. Ошибка во включённом файле

    Современные sshd_config включают каталог с дополнительными файлами. Ошибка в любом из них ломает запуск целиком.

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

    sshd отказывается работать, если закрытый ключ хоста доступен другим или отсутствует.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Обязательная проверка: файл, строка и текст ошибки.

sudo sshd -t

Итоговая конфигурация со всеми включениями и значениями по умолчанию.

sudo sshd -T | head -20

Состояние службы; в RHEL — sshd.

systemctl status ssh --no-pager -l

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Неизвестный или устаревший параметр
Почему происходит
Параметр удалён в новой версии или написан с опечаткой. sshd сообщает файл, строку и имя параметра.
Как проверить
Запустите проверку конфигурации.
sudo sshd -t
Как исправить
Уберите или исправьте параметр по сообщению проверки. Проверять надо до перезапуска, а не после.
2. Ошибка во включённом файле
Почему происходит
Современные sshd_config включают каталог с дополнительными файлами. Ошибка в любом из них ломает запуск целиком.
Как проверить
Посмотрите включаемые файлы и их содержимое.
sudo grep -i "^include" /etc/ssh/sshd_config
sudo ls -l /etc/ssh/sshd_config.d/
Как исправить
Найдите файл по сообщению проверки и исправьте. Порядок включения важен: параметр из первого файла побеждает.
3. Неверные права или отсутствие ключа хоста
Почему происходит
sshd отказывается работать, если закрытый ключ хоста доступен другим или отсутствует.
Как проверить
Посмотрите права на ключи.
sudo ls -l /etc/ssh/ssh_host_*_key
Как исправить
Верните права 0600 и владельца root. Отсутствующие ключи создаются командой генерации.
sudo chmod 600 /etc/ssh/ssh_host_*_key && sudo ssh-keygen -A

Пример вывода

Устаревший параметр после обновления. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× ssh.service - OpenBSD Secure Shell server
     Active: failed (Result: exit-code) since Mon 2026-09-15 12:02:41 MSK; 2s ago

sshd[4200]: /etc/ssh/sshd_config line 24: Bad configuration option: UsePrivilegeSeparation
sshd[4200]: /etc/ssh/sshd_config: terminating, 1 bad configuration options
systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION

Связанные ошибки

Где встречается чаще всего

Источники

  • Документация OpenSSH: sshd_config документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено параметром UsePrivilegeSeparation, удалённым в новых версиях.
    собственная проверка, systemd 255
    сверено 15 сентября 2026