哪里可以找到MacOS sierra上的sshd日志

Zon*_*Lin 10 macos logging sshd

我想在我的Mac OS Sierra(10.12.4)上安装Pseudo-Distributed HBase环境,它需要安装ssh并且可以在ssh localhost没有密码的情况下登录.但有时我在ssh登录时遇到错误.最重要的是问题背景,实际的问题是我在哪里可以找到调试日志,sshd所以我可以知道为什么日志记录失败?

据我所知,Mac OS已经sshd安装并用于launchd管理它,我知道一种输出调试日志的方法sshd -E /var/log/sshd.log,但是当我查看/etc/ssh/sshd_config配置时,有两行:

#SyslogFacility AUTH
#LogLevel INFO
Run Code Online (Sandbox Code Playgroud)

我想这两行用于配置调试模式,然后我#在它们之前删除并设置LogLevelDEBUG3然后重新启动sshd:

$ launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
$ launchctl load -w /System/Library/LaunchDaemons/ssh.plist
Run Code Online (Sandbox Code Playgroud)

然后我将日志路径设置为/etc/syslog.conf:

auth.*<tab>/var/log/sshd.log
Run Code Online (Sandbox Code Playgroud)

<tab> 表示此处的制表符,并重新加载配置:

$ killall -HUP syslogd
Run Code Online (Sandbox Code Playgroud)

但是我执行时sshd.log无法在/var/log文件夹中找到文件ssh localhost.我也试过配置/etc/asl.log:

> /var/log/sshd.log format=raw
? [= Facility auth] file sshd.log
Run Code Online (Sandbox Code Playgroud)

结果是一样的,有人可以帮助我吗?

Ign*_*rez 7

您可以在/var/log/system.log中找到它。如果您用“ sshd”过滤,效果更好:

cat /var/log/system.log | grep sshd
Run Code Online (Sandbox Code Playgroud)


小智 6

与往常一样,苹果决定重新发明轮子。

在超级用户窗口中

# log config --mode "level:debug" --subsystem com.openssh.sshd
# log  stream --level debug  2>&1 | tee /tmp/logs.out
Run Code Online (Sandbox Code Playgroud)

在另一个窗口

$ ssh localhost
$ exit
Run Code Online (Sandbox Code Playgroud)

返回超级用户窗口

^C (interrupt)
# grep sshd /tmp/logs.out
2019-01-11 08:53:38.991639-0500 0x17faa85  Debug       0x0                  37284  sshd: (libsystem_network.dylib) sa_dst_compare_internal <private>@0 < <private>@0
2019-01-11 08:53:38.992451-0500 0xb47b5b   Debug       0x0                  57066  socketfilterfw: (Security) [com.apple.securityd:unixio] open(/usr/sbin/sshd,0x0,0x1b6) = 12
...
...
Run Code Online (Sandbox Code Playgroud)

在超级用户窗口中,恢复默认的sshd日志记录

# log config --mode "level:default" --subsystem com.openssh.sshd
Run Code Online (Sandbox Code Playgroud)


Pie*_*ÈDE 1

有一些sshd登录

/var/log/system.log

例如

Apr 26 19:00:11 mac-de-mamie com.apple.xpc.launchd[1] (com.openssh.sshd.7AAF2A76-3475-4D2A-9EEC-B9624143F2C2[535]): Service exited with abnormal code: 1

不太有指导意义。我怀疑是否可以获得更多。 LogLevel VERBOSE并且LogLevel DEBUG3在 sshd_config 中没有帮助。

根据 man sshd_config 的说法:“使用 DEBUG 级别进行日志记录侵犯了用户的隐私,因此不建议这样做。”

顺便说一句,我不是使用 launchctl 而是使用系统偏好设置“共享”重新启动 sshd,勾选“远程登录”。

在那里,我注意到这个选项:允许访问...

我怀疑此设置位于 /etc/ssh/sshd_config 之外(很容易检查,但我没有时间)。

请注意,Mac OS X 不是 Unix:Apple 开发人员可以在幕后做许多奇怪的事情,而不关心我们的命令行用户。