Windows Server 2019 下 OpenSSH 密钥认证失败问题求助
Windows Server 2019 下 OpenSSH 密钥认证失败问题求助
大家好,我目前在Windows Server 2019上配置OpenSSH的密钥认证,遇到了棘手的问题想请教各位:
之前我严格按照微软官方文档安装了OpenSSH,用AD账号+密码的方式登录完全正常,但跟着密钥认证的配置步骤操作后,就开始出现一系列错误。
客户端报错情况
客户端发起连接后瞬间就断开了,根本没等到任何输入提示,错误信息如下:
client_loop: send disconnect: Connection reset
查谷歌结果大多说是超时问题,但这个断开是即时发生的,显然不符合超时的场景。
服务器端日志信息
在服务器的事件查看器里,我看到了这样的错误:
sshd: fatal: fork of unprivileged child failed
谷歌上的相关结果说可能是进程耗尽导致的,但我们的服务器目前负载很低,这个可能性应该不大。
配置背景
我们的配置完全是参照官方文档来的,只在sshd_config里修改了启用密钥认证的选项,其他都是安装后的默认配置。如果需要更多细节我随时可以补充,暂时不确定还有哪些信息是相关的。
补充编辑:
我又做了进一步调试,用verbose模式输出后发现,公钥已经被成功接受了,但紧接着连接就被关闭了,完整调试日志如下:
Authenticated to <ip> ([<ip>]:22). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com 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参数指定密钥文件,客户端也会自动尝试用密钥认证,这跟预期的行为不太一致。
备注:内容来源于stack exchange,提问作者KPacheco




