在 Windows 中启动 OpenSSH 服务器并启用调试消息 (-d)

ad3*_*l1s 10 windows ssh powershell openssh

我在尝试让OpenSSH serverWindows 10 附带的系统正常工作时遇到一个非常奇怪的问题。基本上,如果我通过运行手动启动服务C:\Windows\System32\OpenSSH\sshd.exe,一切正常,但是当我通过 Windows GUI 或Start-service sshdPowershell 启动服务时,我无法连接(我的公钥被拒绝 - 我已在配置中禁用密码日志记录)文件,因此问题可能是尝试读取文件时的权限问题authorized_keys)。我想通过阅读守护进程的调试消息更好地了解发生了什么sshd,即通过手动启动获得的内容-d,但即使我将选项添加-d到允许指定服务启动参数的 Windows GUI,我我不确定我应该在哪里阅读这些消息(即事件查看器不包含这些消息)。如果有一种方法可以将启动参数添加到Start-service sshdpowershell 命令并在 Powershell 会话中读取这些消息,那就太好了……有什么想法吗?

小智 14

默认情况下,Windows OpenSSH 服务器会记录到事件日志。您应该在应用程序和服务日志 -> OpenSSH 下的事件日志查看器中查看。管理日志显示错误,操作日志显示信息性消息。

OpenSSH 日志记录由您的文件控制C:\ProgramData\ssh\sshd_config。该条目SyslogFacility确定日志位置。

我从这里得到了答案: https: //github.com/PowerShell/Win32-OpenSSH/wiki/Logging-Facilities

authorized_keys事件日志可能会遗漏一些额外的行,否则这些行将显示在日志文件中(例如,忽略的原因)。要查看它们,请编辑C:\ProgramData\ssh\sshd_config(例如,以管理员身份运行 notepad.exe),然后设置:

SyslogFacility LOCAL0
LogLevel Debug3
Run Code Online (Sandbox Code Playgroud)

重新启动 OpenSSH SSH Server 服务并期望日志出现在C:\ProgramData\ssh\logs\sshd.log