Сервер OpenSSH SSH не запускается на Windows Server 2019 после обновлений Windows

Вопрос или проблема

У меня есть два хоста Windows Server 2019, которые не могут запустить службу OpenSSH SSH Server после установки следующих обновлений Windows:

.NET Framework 4.8
Сентябрьское накопительное обновление 2024 года
Инструмент удаления вредоносного ПО

Дата изменения изменилась на прошлую ночь для всех файлов в C:\Windows\System32\OpenSSH:

Каталог OpenSSH

Попытка запустить службу приводит к следующему:

“Windows не удалось запустить службу OpenSSH SSH Service на локальном компьютере. Ошибка 1067: Процесс завершился неожиданно”

В журнале SSH нет ничего, когда пытаешься запустить. Журнал событий не дает полезной информации, кроме фразы “Служба OpenSSH SSH Server завершилась неожиданно. Она сделала это 8 раз.”

Та же проблема здесь.

Оказалось, что политика безопасности в директории LOG была “неправильной”? Я в конечном итоге удалил папку LOG, перезапустил службу, и все снова заработало. Папка LOG была автоматически воссоздана.

Но… если вы входите в logfile (как администратор), и после принятия “вам нужны привилегии администратора для доступа к этой папке”, ваше имя пользователя оказывается в списке пользователей с правами на чтение. После этого демон снова не запускается. Удаление пользователя из списка безопасности папки LOG решает эту проблему, и служба снова запускается. 🙁

Я протестировал это, и кажется, что права доступа к директории журналов действительно являются проблемой, как выяснил Wig-B. Я могу добавить группы с правами Read&Execute, List folder contents и Read в безопасность директории журналов, и это, кажется, работает.

Стандартные права доступа такие:
SYSTEM (полный контроль)
Administrators (полный контроль)

Согласно CVE-2024-43615, KB5044277 также касается упомянутой уязвимости OpenSSH.

Возможно, стоит на это обратить внимание.

Тем не менее, явная информация об обновлении в связи с OpenSSH по-прежнему редка. Возможно, дальнейшая информация появится позже, но я почти уверен, что ваша проблема связана с этим.

Похожие проблемы были сообщены на Stack Overflow, проверьте это: https://stackoverflow.com/questions/39319140/error-1067-on-start-openssh-by-net-start-opensshd-in-windows-cmd

Я только что решил это.

  1. Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  2. Переименуйте C:\ProgramData\ssh в C:\ProgramData\_ssh
  3. Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  4. Start-Service sshd
  5. Stop-Service sshd
  6. Удалите c:\ProgramData\ssh\sshd_config
  7. Скопируйте C:\ProgramData\_ssh\sshd_config в c:\ProgramData\ssh\sshd_config
  8. Start-Service sshd

Не уверен, нужны ли 1 и 3.

Та же проблема с Windows Server 2022. После обновлений Windows и перезагрузки сервер OpenSSH не запускается. Единственная информация в журнале событий — ID события 7034: Служба OpenSSH SSH Server завершилась неожиданно.

У меня 4 сервера, из которых 2 получили обновления и теперь не работают. История обновлений сообщает, что накануне была установлена KB5044099 и KB5044281.

Кто-нибудь знает, что может быть причиной этого?

Ответ или решение

На основании описанного вами сценария, кажется, что проблема с запуском службы OpenSSH SSH Server на ваших серверах Windows Server 2019 после установки обновлений Windows вызвана неправильными правами доступа к папке журналов или конфигурации службы. Вот шаги, которые могут помочь вам решить проблему:

1. Проверка прав доступа к папке журналов

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

  • SYSTEM (полный доступ)
  • Administrators (полный доступ)

Чтобы проверить права доступа:

  1. Перейдите в папку C:\ProgramData\ssh.
  2. Щелкните правой кнопкой мыши на папке logs и выберите Свойства.
  3. Перейдите на вкладку Безопасность и убедитесь, что указанные выше права присутствуют.

Если ваш пользователь или другие группы имеют доступ к этой папке, попробуйте сделать следующее:

  • Удалите лишние записи доступа.
  • Если необходимо, удалите папку logs и перезапустите службу OpenSSH; она будет автоматически воссоздана с правильными разрешениями.

2. Переустановка OpenSSH

Если проблема не решена, вы можете попробовать переустановить OpenSSH Server:

  1. Откройте PowerShell с правами администратора.
  2. Удалите OpenSSH Server, выполнив команду:
    Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  3. Переименуйте папку C:\ProgramData\ssh на C:\ProgramData\_ssh (это создаст резервную копию вашей конфигурации).
  4. Установите OpenSSH Server снова с помощью команды:
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  5. Запустите службу OpenSSH:
    Start-Service sshd
  6. Остановите службу, если она успешно запустилась, а затем удалите файл конфигурации:
    Stop-Service sshd
    Remove-Item C:\ProgramData\ssh\sshd_config
  7. Скопируйте файл конфигурации из резервной папки:
    Copy-Item C:\ProgramData\_ssh\sshd_config C:\ProgramData\ssh\sshd_config
  8. Запустите службу снова:
    Start-Service sshd

3. Проверка обновлений Windows

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

4. Дополнительные шаги диагностики

Если проблема сохраняется, проверьте журнал событий для получения более подробной информации о том, почему служба не запускается. Используйте "Event Viewer" для изучения возможных ошибок, связанных с OpenSSH.

Заключение

Если ни один из шагов не помог решить вашу проблему, возможно, стоит обратиться в техническую поддержку Microsoft для получения более глубокой диагностики и возможности разрешения проблемы, так как это может быть связано с недавними изменениями в обновлениях Windows.

Вы можете следить за обновлениями и рекомендациями по устранению подобных проблем на официальных форумах Microsoft или на специализированных ресурсах, таких как Stack Overflow.

Оцените материал
Добавить комментарий

Капча загружается...