我想从 C++ 代码中读取 OpenSSH 事件日志。这是我用来打开日志的方法:
hEventLog = OpenEventLog(NULL, provider_name);
我尝试使用“PowerShell”作为提供程序名称,并成功从 hEventLog 读取了 PowerShell 日志。
当我尝试使用“OpenSSH”时,从句柄读取时没有得到 OpenSSH 日志。
provider_name 的哪个值会打开我需要的日志?
一些背景信息:我的最终目标是在我的程序中收到有关机器的新 SSH 连接的通知。我看到 OpenSSH EventLog 中有连接日志。我想监听 OpenSSH EventLog 并收到那里每个日志的通知,以识别新连接。
答案1
帖子 随时随地可用性第 19 部分 — 禁止 RDP 和 SSH 攻击 顺便列出一个OpenSSH事件的内容:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="OpenSSH" Guid="{C4B57D35-0636-4BC3-A262-370F249F9802}" />
回答这个问题:正如您所尝试的,提供商名称是“OpenSSH”。
至于为什么你的 C++ 代码失败,编码问题更多的是 堆栈溢出。我唯一能说的是,这些事件是由 OpenSSH 服务器创建的,而不是由客户端创建的(如果有帮助的话)。