완전히 패치 된 OS X 10.8.5에서 작업하고 있습니다. /usr/local/sbin
포트 1522 에서 수신 대기 하도록 업데이트 된 OpenSSH 서버를 설치 했습니다 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>
StandardErrorPath
.