Вопрос или проблема
У меня есть два хоста Windows Server 2019, которые не могут запустить службу OpenSSH SSH Server после установки следующих обновлений Windows:
.NET Framework 4.8
Сентябрьское накопительное обновление 2024 года
Инструмент удаления вредоносного ПО
Дата изменения изменилась на прошлую ночь для всех файлов в C:\Windows\System32\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
Я только что решил это.
- Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Переименуйте C:\ProgramData\ssh в C:\ProgramData\_ssh
- Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Start-Service sshd
- Stop-Service sshd
- Удалите c:\ProgramData\ssh\sshd_config
- Скопируйте C:\ProgramData\_ssh\sshd_config в c:\ProgramData\ssh\sshd_config
- 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 (полный доступ)
Чтобы проверить права доступа:
- Перейдите в папку
C:\ProgramData\ssh
. - Щелкните правой кнопкой мыши на папке
logs
и выберитеСвойства
. - Перейдите на вкладку
Безопасность
и убедитесь, что указанные выше права присутствуют.
Если ваш пользователь или другие группы имеют доступ к этой папке, попробуйте сделать следующее:
- Удалите лишние записи доступа.
- Если необходимо, удалите папку
logs
и перезапустите службу OpenSSH; она будет автоматически воссоздана с правильными разрешениями.
2. Переустановка OpenSSH
Если проблема не решена, вы можете попробовать переустановить OpenSSH Server:
- Откройте PowerShell с правами администратора.
- Удалите OpenSSH Server, выполнив команду:
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Переименуйте папку
C:\ProgramData\ssh
наC:\ProgramData\_ssh
(это создаст резервную копию вашей конфигурации). - Установите OpenSSH Server снова с помощью команды:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Запустите службу OpenSSH:
Start-Service sshd
- Остановите службу, если она успешно запустилась, а затем удалите файл конфигурации:
Stop-Service sshd Remove-Item C:\ProgramData\ssh\sshd_config
- Скопируйте файл конфигурации из резервной папки:
Copy-Item C:\ProgramData\_ssh\sshd_config C:\ProgramData\ssh\sshd_config
- Запустите службу снова:
Start-Service sshd
3. Проверка обновлений Windows
Убедитесь, что ваши обновления Windows актуальны и что вы используете последние версии обновлений. Иногда ошибки, вызванные обновлениями, могут быть исправлены в последующих патчах.
4. Дополнительные шаги диагностики
Если проблема сохраняется, проверьте журнал событий для получения более подробной информации о том, почему служба не запускается. Используйте "Event Viewer" для изучения возможных ошибок, связанных с OpenSSH.
Заключение
Если ни один из шагов не помог решить вашу проблему, возможно, стоит обратиться в техническую поддержку Microsoft для получения более глубокой диагностики и возможности разрешения проблемы, так как это может быть связано с недавними изменениями в обновлениях Windows.
Вы можете следить за обновлениями и рекомендациями по устранению подобных проблем на официальных форумах Microsoft или на специализированных ресурсах, таких как Stack Overflow.