在MacosSierra

问题描述 投票:0回答:5
ssh

登录时会遇到错误。最重要的是问题背景,实际问题是我在哪里可以找到

sshd
的调试日志,所以我知道为什么记录进一步失败了?
我知道,Mac OS已经安装了并使用
sshd
来管理它,并且我知道一种通过
launchd

输出调试日志的方法,但是当我审查了

sshd -E /var/log/sshd.log

配置时,有两行:
/etc/ssh/sshd_config
我猜想这两行用于配置调试模式,然后我删除了
#SyslogFacility AUTH #LogLevel INFO
,然后将
#

设置为
LogLevel
,然后重新启动

DEBUG3

sshd
然后我将日志路径设置为
$ launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
$ launchctl load -w /System/Library/LaunchDaemons/ssh.plist

/etc/syslog.conf

auth.*<tab>/var/log/sshd.log
在这里表示tab字符,然后重新加载配置:

<tab>

但是,当我执行

$ killall -HUP syslogd
时,在

sshd.log
文件夹中找不到文件。我还尝试了配置
/var/log

ssh localhost
结果是一样的,有人可以帮助我吗?
	
像往常一样,苹果决定重新发明轮子。
在超级用户窗口

/etc/asl.log

macos logging sshd
5个回答
33
投票
> /var/log/sshd.log format=raw ? [= Facility auth] file sshd.log

超级用户窗口中的back

# log config --mode "level:debug" --subsystem com.openssh.sshd # log stream --level debug 2>&1 | tee /tmp/logs.out

在超级用户窗口,还原默认的SSHD记录

$ ssh localhost $ exit

您可以在/var/log/system.log中找到它。如果您通过“ sshd”过滤:

^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 ... ...

try这个

CP/System/library/launchdaemons/ssh.plist/library/launchdaemons/ssh.plist

然后
Vi/library/launchdaemons/ssh.plist

11
投票

添加您的-e,如下所示

# log config --mode "level:default" --subsystem com.openssh.sshd

4
投票
中看到sshd logs launchctl unload/system/library/launchdaemons/ssh.plist && lastionctl load -w/library/launchdaemons/ssh.plist

我也有一个SSH问题,我想进一步调试,无法弄清楚如何使SSHD调试日志出现在任何通常的地方。我求助于编辑

grep sshd /var/log/system.log

文件以添加

<array> <string>/usr/sbin/sshd</string> <string>-i</string> <string>-E</string> <string>/var/log/system.log</string> </array>

参数(例如/tmp/sshd.log)。我还编辑了/System/Library/LaunchDaemons/ssh.plist更改loglevel。 通过这些更改,我能够查看指定日志文件中更多的详细日志。

我对MacOS没有太多的经验,所以我敢肯定有一种更正确的配置方法,但是由于缺乏更好的方法,这会吸引我想要的日志。

根据Apple的
开发人员网站
,MACOS 10.12及以上的记录行为发生了变化:

最重要的:

ios 10.0及以后的MacOS 10.12及更高版本,TVOS 10.0及更高版本,以及WatchOS 3.0及以后的ununified Logging以及Syslog API。从历史上看,日志消息被写入磁盘上的特定位置,例如/etc/system.log。统一记录系统将消息存储在内存和数据存储中,而不是写入基于文本的日志文件。 不幸的是,除非有人提出了一种非常聪明的方法来从内存或这个神秘的“数据存储”中提取日志条目,否则我认为我们是sol:/


3
投票
有一些SSHD登录

/var/log/system.log
例如,例如
-E <log file location>


不是很有启发性。 我怀疑是否可以获得更多。 sshd_config中的

/etc/ssh/sshd_config


2
投票
没有帮助。 acorcording occording man sshd_config: “通过调试级别登录违反了用户的隐私,因此不建议使用。”

通过方式,我对SSHD进行了重新启动,而不是通过启动CTCTL,而是通过系统偏好共享,滴答远程登录。 ,我注意到了选项:允许访问...

我怀疑此设置在户外/etc/ssh/sshd_config (易于检查,但我没有时间)。 Mac OS X不是Unix:Apple开发者可以在场景后面做许多奇怪的事情,而无需注意我们的命令行用户。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.