2012-05-18 16 views
16

La versione esistente di openssh su OS X 10.7.4 è SSH-2.0-OpenSSH_5.6, che, sfortunatamente, non è compatibile con PCI. Quindi, ho bisogno di aggiornarlo e ho cercato di farlo con Homebrew.Aggiornamento openssh su OS X con homebrew per conformità PCI

Finora, quello che ho fatto è:

brew tap homebrew/dupes 
brew install openssh 

Nessun problema, tutto è andato bene, e ora quando provo which ssh ottengo:

/usr/local/bin/ssh 

Il che sembra in ordine, anche which sshd dà:

/usr/local/sbin/sshd 

e ssh -v riporta regolarmente:

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011 

Fin qui tutto bene. Ma qui è dove sono fuori dal mio elemento. Port 22 è ancora utilizzando il sistema operativo installato versione, che è quello di dire che i rapporti telnet hostname 22:

SSH-2.0-OpenSSH_5.6 

Ho provato a gingillarsi con /System/Library/LaunchDaemons/ssh.plist senza fortuna.

Quindi, le mie domande sono (probabilmente in ordine inverso di importanza):

  1. Come faccio ad avere la mia installazione Homebrew di OpenSSH essere quello in ascolto sulla porta 22?
  2. Se lo faccio, causerà qualche conflitto con OS X o altri software?
  3. Il modo in cui sto andando in merito a questo è ragionevole in primo luogo?
  4. Non sto pensando alle cose che dovrei essere?
  5. Questa è una pessima idea per cominciare?

Sono frustrato per non aver superato la scansione di conformità PCI e ho bisogno di capire, e sinceramente sto considerando di cambiare tutti i siti di e-commerce sul mio server su stripe.com, ma vorrei piace capire questo. Inoltre, qualcuno sa se openssh sarà aggiornato a Mountain Lion?

Edit: Ecco quello che ho cercato in /System/Library/LaunchDaemons/ssh.plist:

Ho modificato una sola linea, cambiando:

<string>/usr/sbin/sshd</string> 

Per

<string>/usr/local/sbin/sshd</string> 

E poi ho provato sudo kill -HUP 1 come suggerito da @ the-paul qui sotto, oltre a riavviare il Mac.

telnet da un telecomando mostra ancora SSH-2.0-OpenSSH_5.6

Tutta la mia ssh.il file plist ora assomiglia a questo: http://pastie.org/private/qnhofuxomawjdypp9wgaq

risposta

15
  1. Demoni come questo sono controllate su OS X da launchd, che è a sua volta configurato dai file in directory come /System/Library/LaunchDaemons/ e /Library/LaunchDaemons. Almeno Lion e Snow Leopard, il daemon ssh predefinito è definito da /System/Library/LaunchDaemons/ssh.plist.

    È possibile aprirlo come root con un editor di testo e modificare il valore per la chiave "Program" da /usr/libexec/sshd-keygen-wrapper sul percorso desiderato; nel tuo caso, probabilmente è /usr/local/sbin/sshd. Quindi è anche necessario modificare la prima delle stringhe ProgramArguments, quella che dice /usr/sbin/sshd, poiché è intesa come argomento su launchproxy. Poi, per ricaricare,

    sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist 
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 
    
  2. Io non vedo come che dovrebbe causare eventuali conflitti con il software normale o ben educati OS X.

  3. Sì, mi sembra una cosa molto ragionevole. La sicurezza è importante

  4. Questa non è davvero una domanda molto comprensibile. Ma quasi certamente, sì, come tutti gli altri: ^)

  5. No. L'unica cosa di cui preoccuparsi davvero è mantenere il tuo sshd aggiornato con la sicurezza o meglio del sistema operativo. Se sei a conoscenza di preoccupazioni come quella posta da questa domanda, allora non penso che sarà un problema per te.

Modifica: corretto i miei suggerimenti per la modifica ssh.plist (testato questa volta).

+0

grazie per le utili risposte. Non sono ancora in grado di farlo funzionare, comunque. Forse mi manca qualcosa in ssh.plist. Sto aggiungendo il processo che sto facendo anche se sopra, fammi sapere se vedi dove sto andando male. –

+0

Ho solo sbirciato all'interno di/usr/libexec/sshd-keygen-wrapper e ho trovato la riga 'exec/usr/sbin/sshd $ @'. Devo modificare questo manualmente? O è la '$ @' una variabile che viene sostituita dal file xml? –

+0

Oh uomo, è divertente. Passa il percorso a un sshd sulla riga di comando a 'sshd-keygen-wrapper', ma in realtà non viene usato. Sì, penso che tu stia molto meglio sostituendo 'sshd-keygen-wrapper' in quel plist. Quindi mantieni l'argomento '-i' nella lista degli argomenti. –