Я пытаюсь настроить аутентификацию на основе ключей в OpenSSH на Windows Server 2019. В настоящее время мы установили Open SSH в соответствии с документацией Microsoft и можем входить в систему, используя наши учетные записи AD, используя аутентификацию по паролю, но при выполнении инструкций по аутентификации на основе ключей начинают появляться следующие ошибки.
На стороне клиента мы получаем следующее:
client_loop: send disconnect: Connection reset
Результаты поиска Google, похоже, считают, что это какой-то тайм-аут, но это происходит мгновенно, прежде чем мы получаем подсказку.
На стороне хоста в окне просмотра событий мы видим следующее:
sshd: fatal: fork of unprivileged child failed
Результаты Google по этому запросу указывают на то, что процессы исчерпаны, но в нашей ситуации это кажется маловероятным.
Наша настройка стандартная, согласно найденной документации.здесь, единственное изменение, внесенное в конфигурацию sshd, — это включение аутентификации по ключу, все остальное — по умолчанию после установки. Happy, поэтому предоставьте любую дополнительную информацию, не уверен, что еще может быть важно.
EDIT: Покопался еще немного, и с подробным выводом похоже, что открытый ключ принят, но соединение сразу же закрывается после:
Authenticated to <ip> ([<ip>]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console
debug1: ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing
client_loop: send disconnect: Connection reset
Теперь он пытается выполнить аутентификацию на основе ключа, даже если я не указал ключ с параметром -i, что странно.
решение1
Не знаю, применимо ли это к делу, но когда мы настраивали OpenSSH для Windows, документация Microsoft и стандартные функции не работали.
Для правильной настройки мы использовали следующие источники и инструкции:
Что касается конфигурации, то наш sshd_config содержит, среди прочего:
AuthorizedKeysFile .ssh/authorized_keys
Subsystem sftp sftp-server.exe
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
настройки sftp, поскольку мы используем его в основном для перемещения файлов (пожалуйста, не спрашивайте почему).