如何解决 cywgin64 中的 syslog-ng 无法获取 ssh/sftp 日志数据的问题?

如何解决 cywgin64 中的 syslog-ng 无法获取 ssh/sftp 日志数据的问题?

我已经在 Windows Server 2012 上通过 cygwin (V3.2) 安装了 ssh 和 syslog-ng,并尝试从 sshd 获取日志输出。我使用的是默认的 /etc/syslog-ng/syslog-ng.conf 文件...

@version: 3.2
@include "scl.conf"

source s_local {
    system();
    internal();
};

source s_network {
    udp();
};

destination d_local {
    file("/var/log/messages");
};

log {
    source(s_local);

    # uncomment this line to open port 514 to receive messages
    #source(s_network);
    destination(d_local);
};

我的 /etc/sshd_config 文件仅包含以下未注释的行...

 Port 22
 SyslogFacility LOCAL5
 LogLevel VERBOSE
 StrictModes no
 AuthorizedKeysFile /etc/authorized_keys
 Subsystem sftp /usr/sbin/sftp-server -f LOCAL5 -l VERBOSE

sshd 的启动/关闭已成功记录到 /var/log/messages:

Jun 23 12:37:31 ga16irwebdev01 sshd: PID 4552: Server listening on :: port 22.
Jun 23 12:37:31 ga16irwebdev01 sshd: PID 4552: Server listening on 0.0.0.0 port 22.
Jun 23 12:37:32 ga16irwebdev01 sshd: PID 6648: `sshd' service started

但是,当我尝试从远程机器“ssh”到此机器时,日志中没有任何内容。远程 ssh 请求失败,因为 sshd 不接受我的 dsa 密钥,我正在尝试调试该问题,但无法在日志中获取任何信息。

有人可以解释为什么 sshd 不记录(失败的)连接请求吗?

更多信息...我的 /var/log 目录:

$ ls -l
total 756
-rw-r--r-- 1 GA16IRWEBDEV01+cyg_server Administrators      0 Jun 22 14:56 lastlog
-rw------- 1 SYSTEM                    SYSTEM          15714 Jun 23 15:58 messages
-rw-r--r-- 1 MDowd.adm                 Administrators  41836 Jun 23 10:40 setup.log
-rw-r--r-- 1 MDowd.adm                 Administrators 712122 Jun 23 10:40 setup.log.full
-rwxrwxrwx 1 GA16IRWEBDEV01+cyg_server Administrators      0 Jun 22 15:00 sshd.log
-rw----r-- 1 SYSTEM                    SYSTEM              0 Jun 23 10:47 syslog-ng.log

我的/dev/log:

$ ls -l | grep log
srw----rw-  1 SYSTEM                  SYSTEM                     0 Jun 23 15:58 log

答案1

在远程机器上,尝试使用 -vvv 选项运行 ssh 以获取来自客户端的详细输出。这可能有助于解决问题。

答案2

搞定了。我发现我可以用一个简单的

logger 'testing syslog-ng'

syslog-ng 成功将消息记录到 /var/log/messages。这告诉我问题出在 sshd 没有发出任何消息。

“回到开始”并从我的源框 ping 目标框的主机名。发现请求者给我的目标框的 IP 地址不正确,指向我们网络中的另一个框。当我更正该问题并 ssh 到正确的框时,连接请求现在显示在 /var/log/messages 中。会说“真是浪费的一天”,但作为大型机恐龙,我学到了很多关于 syslog 和 sshd 的知识!谢谢!

相关内容