¿Se está registrando para SSHD cuando se inicia desde Launchd con la opción '-d'?

1

Estoy trabajando en OS X 10.8.5, totalmente parcheado. Tengo un servidor OpenSSH actualizado instalado en /usr/local/sbin escuchando en el puerto 1522. Los intentos de conexión dan como resultado ssh_exchange_identification: Connection closed by remote host . sudo grep 'sshd' /var/log/* 2>/dev/null en el servidor no devuelve casi nada, por lo que estoy intentando recopilar más información en el servidor por la causa.

Según man sshd(8) , -d es el modo de depuración y envía una salida de depuración detallada a un error estándar. Agregué -d a ProgramArguments en el plist, pero el plist también establece StandardErrorPath a /dev/null . Así que supongo que la información de depuración se está descartando.

Revisé launchctl(1) página de manual , pero no veo qué debo hacer para modificar StandardErrorPath para que se registre en alguna parte. La página del manual ni siquiera analiza el par de nombre / valor.

¿Cómo debo cambiar la configuración para que el registro de depuración se registre en algún lugar y sé dónde está ese "en algún lugar"?

$ 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>
    
pregunta jww 23.08.2015 - 18:37

2 respuestas

1

Para los eventos de registro adecuados de sshd , no debe configurar -d swiches, ya que esto está reservado para la depuración, pero el usuario sshd_config (no está seguro de su ubicación en OSX).

En sshd_config , existe la opción LogLevel , que puede ajustar a sus necesidades, básicamente el nivel más detallado es DEBUG3 , que le brinda mucha información útil para la depuración.

    
respondido por el Jakuje 23.08.2015 - 21:23
1
  1. Para agregar el argumento -d a sshd, debe agregarse como un nuevo elemento a la matriz:

    <string>-d</string>
    

    La sección debe verse como:

    <key>ProgramArguments</key>
        <array>
            <string>-i</string>
            <string>-d</string>
        </array>
    
  2. En lugar de editar los archivos plist directamente, puedes usar /usr/libexec/PlistBuddy (-h para mostrar ayuda).

  3. Hay un script de utilidad ssh-util.rb que puede activar / desactivar el registro. Es parte del paquete OpenSSH-189 que se encuentra en: opensource.apple.com.

    Enlace a ssh-util.rb

    Estos son los comandos necesarios para ejecutar (como se producen a partir del script ruby):

    /usr/bin/ruby ./ssh-util.rb -l on -v --debug --dryrun
    

    o manualmente:

    sudo /usr/libexec/PlistBuddy -c "add :ProgramArguments:2 string '-ddd'" /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
    sudo touch /var/run/com.openssh.sshd-asl-enabled
    
  4. Cuando finalice la depuración, deberá ejecutar cualquiera de los dos:

    /usr/bin/ruby ./ssh-util.rb -l off -v --debug --dryrun 
    

    o manualmente:

    sudo /usr/libexec/PlistBuddy -c "Delete :ProgramArguments:2" /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
    sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
    sudo rm -f /var/run/com.openssh.sshd-asl-enabled
    

Notas sobre el registro de OS X

    
respondido por el rprimus 07.09.2015 - 16:32

Lea otras preguntas en las etiquetas