我正在使用OS X 10.8.5,完全打补丁。我安装了一个更新的OpenSSH服务器 /usr/local/sbin
侦听端口1522.连接尝试导致 ssh_exchange_identification: Connection closed by remote host
。 sudo grep 'sshd' /var/log/* 2>/dev/null
在服务器上几乎什么也没有返回,所以我试图在服务器上收集更多关于原因的信息。
根据 man sshd(8)
, -d
是调试模式,它将详细的调试输出发送到标准错误。我补充道 -d
至 ProgramArguments
在plist,但plist也设置 StandardErrorPath
至 /dev/null
。所以我猜测调试信息正在被丢弃。
我检查了 launchctl(1)
手册页,但我看不出我应该怎么做修改 StandardErrorPath
所以它记录在某个地方。手册页甚至没有讨论名称/值对。
我应该如何更改配置,以便在某处记录调试日志记录,我知道“某处”在哪里?
$ cat /System/Library/LaunchDaemons/ssh-7.1.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<true/>
<key>Label</key>
<string>com.openssh.sshd-v7.1</string>
<key>Program</key>
<string>/usr/local/sbin/sshd</string>
<key>ProgramArguments</key>
<array>
<string>-i -d</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>1522</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>SHAuthorizationRight</key>
<string>system.preferences</string>
</dict>
</plist>
LogLevel=DEBUG3
,然后不会被丢弃因为StandardErrorPath=/dev/null
? (抱歉要问。我通常不会管理OpenSSH。通常它“只是工作”)。