Registrazione per SSHD quando avviato da Launchd con l'opzione '-d'?

1

Sto lavorando su OS X 10.8.5, completamente aggiornato. Ho un server OpenSSH aggiornato installato in /usr/local/sbin in ascolto sulla porta 1522. I tentativi di connessione danno come risultato ssh_exchange_identification: Connection closed by remote host . sudo grep 'sshd' /var/log/* 2>/dev/null sul server restituisce quasi nulla, quindi sto cercando di raccogliere più informazioni sul server per la causa.

Secondo man sshd(8) , -d è la modalità di debug e invia l'output di debug dettagliato all'errore standard. Ho aggiunto -d a ProgramArguments nel plist, ma il plist imposta anche StandardErrorPath su /dev/null . Quindi suppongo che le informazioni di debug vengano scartate.

Ho controllato la pagina man launchctl(1) , ma non vedo cosa dovrei fare per modificare StandardErrorPath in modo che sia loggato da qualche parte. La pagina man non ha nemmeno discusso la coppia nome / valore.

Come dovrei cambiare la configurazione in modo che la registrazione di debug sia registrata da qualche parte, e so dove si trova "da qualche parte"?

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

2 risposte

1

Per gli eventi di registrazione corretti da sshd non dovresti impostare -d swiches, poiché questo è riservato per il debug, ma dovresti user sshd_config (non sai dove si trova in OSX).

In sshd_config , c'è l'opzione LogLevel , che puoi adattare alle tue esigenze, in pratica il livello più dettagliato è DEBUG3 , che ti dà molte informazioni utili per il debug.

    
risposta data 23.08.2015 - 21:23
fonte
1
  1. Per aggiungere l'argomento -d a sshd, dovrebbe essere aggiunto come nuovo elemento alla matrice:

    <string>-d</string>
    

    La sezione dovrebbe essere simile a:

    <key>ProgramArguments</key>
        <array>
            <string>-i</string>
            <string>-d</string>
        </array>
    
  2. Invece di modificare direttamente i file plist, puoi utilizzare /usr/libexec/PlistBuddy (-h per mostrare aiuto).

  3. C'è uno script di utilità ssh-util.rb che può attivare / disattivare la registrazione. Fa parte del pacchetto OpenSSH-189 trovato su: opensource.apple.com.

    Collegamento a ssh-util.rb

    Ecco i comandi necessari per l'esecuzione (come prodotto dallo 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. Al termine del debug, dovrai eseguire:

    /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
    

Note su OS X Logging

    
risposta data 07.09.2015 - 16:32
fonte

Leggi altre domande sui tag