Заметки программиста

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

Чтобы применить изменения в конфигурации SSH (файл /etc/ssh/sshd_config) на Ubuntu, есть несколько способов:

1. Перезагрузить службу (перечитать конфигурацию, но остановить и запустить заново)

Это самый простой и надёжный способ.

  • sudo systemctl reload ssh.
  • Или для систем на базе systemd: sudo systemctl reload sshd.

Важное предупреждение: если вы находитесь в активном SSH-сеансе (подключены удалённо), эта команда может разорвать соединение. Для удалённого применения изменений лучше использовать этот метод, но иметь запасной план (например, доступ к консоли).

2. Отправить сигнал SIGHUP (менее разрушительный для сессий)

SSH-демон (sshd) при получении сигнала SIGHUP перечитывает конфигурацию без полного перезапуска.

Команда:

  • sudo kill -SIGHUP $(pgrep sshd).

Почему 

pgrep sshd

? Просто чтобы не отправить сигнал самому процессу pgrep — у него тоже есть процесс с таким именем, и важно нацелиться именно на главный демон, который слушает подключения, а не на процессы активных сессий.

Этот способ предпочтительнее, если вы не хотите терять текущую сессию.

3. Проверить конфигурацию перед применением

Перед тем как применять изменения, советую проверить файл на синтаксические ошибки:

  • sudo sshd -t.

Если в конфиге есть ошибка, служба не запустится, и вы сразу поймёте проблему.

Несколько советов

  • Сделайте резервную копию файла перед редактированием: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup.
  • После применения проверьте статус службы: sudo systemctl status ssh.
  • Если команда не сработала, посмотрите логи: journalctl -u sshd или tail -n 50 /var/log/auth.log.

Выберите способ под вашу задачу: для разового применения — перезагрузка службы, если не хотите терять сессию — сигнал SIGHUP.