2012-05-18 30 views
16

के लिए होमब्री के साथ ओएस एक्स पर ओपनश अपग्रेड करें ओएस एक्स 10.7.4 पर ओपनश का मौजूदा संस्करण एसएसएच-2.0-ओपनएसएसएच_5.6 है, दुर्भाग्यवश, पीसीआई अनुपालन नहीं है। इसलिए, मुझे इसे अपग्रेड करना होगा और मैं होमब्रू के साथ ऐसा करने की कोशिश कर रहा हूं।पीसीआई अनुपालन

अब तक, क्या मेरे द्वारा की गई है:

brew tap homebrew/dupes 
brew install openssh 

कोई बात नहीं, सब कुछ ठीक चला गया, और अब जब मैं which ssh कोशिश मैं:

/usr/local/bin/ssh 

कौन सा ठीक लग रहा है, यह भी which sshd देता है:

/usr/local/sbin/sshd 

और ssh -v विधिवत रिपोर्ट:

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011 

अब तक इतना अच्छा है। लेकिन यहां मैं अपने तत्व से बाहर हूं।

SSH-2.0-OpenSSH_5.6 

मैं कोई भाग्य के साथ /System/Library/LaunchDaemons/ssh.plist के साथ आसपास mucking की कोशिश की है: पोर्ट 22 अभी भी ओएस स्थापित संस्करण है, जो कि telnet hostname 22 रिपोर्ट कहने के लिए है का उपयोग कर रहा है।

तो, मेरे सवालों का (महत्व के उलटे क्रम में शायद) कर रहे हैं:

  1. मैं कैसे बंदरगाह 22 पर सुन एक होने की अधिभारित की मेरी Homebrew स्थापना मिलता है?
  2. यदि मैं करता हूं, तो क्या यह ओएस एक्स या अन्य सॉफ़्टवेयर के साथ कोई विवाद पैदा करेगा?
  3. क्या मैं इस बारे में पहली जगह में उचित तरीके से जा रहा हूं?
  4. क्या मैं उन चीज़ों के बारे में नहीं सोच रहा हूं जो मुझे होना चाहिए?
  5. क्या यह एक भयानक विचार है जिसके साथ शुरुआत करना है?

मैं पीसीआई अनुपालन स्कैन को पारित करने के बारे में निराश हूं और इसे समझने की आवश्यकता है, और स्पष्ट रूप से मैं अपने सर्वर पर सभी ई-कॉमर्स वेबसाइटों को stripe.com पर बदलने पर विचार कर रहा हूं, लेकिन मैं चाहता हूं यह पता लगाने के लिए पसंद है। साथ ही, क्या किसी को पता है कि माउंटेन शेर में ओपनश को अपग्रेड किया जाएगा?

संपादित करें: यहाँ है कि मैं क्या /System/Library/LaunchDaemons/ssh.plist में की कोशिश कर रहा है या नहीं:

मैं केवल एक लाइन संपादित किया है बदल रहा है:

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

करने के लिए
<string>/usr/local/sbin/sshd</string> 

और फिर मैं sudo kill -HUP 1 की कोशिश की के रूप में @ नीचे-पॉल ने सुझाव दिया है, साथ ही पुन: प्रारंभ मैक।

एक रिमोट से में Telnetting अभी भी SSH-2.0-OpenSSH_5.6

मेरा पूरा ssh को दर्शाता है।plist फ़ाइल अब इस तरह दिखता है: http://pastie.org/private/qnhofuxomawjdypp9wgaq

उत्तर

15
  1. डेमॉन इस तरह launchd, जो है बदले में /System/Library/LaunchDaemons/ और /Library/LaunchDaemons तरह निर्देशिकाओं में से फ़ाइलें द्वारा विन्यस्त द्वारा ओएस एक्स पर नियंत्रित कर रहे हैं। कम से कम शेर और हिम तेंदुए पर, डिफ़ॉल्ट एसएसएच डिमन को /System/Library/LaunchDaemons/ssh.plist द्वारा परिभाषित किया गया है।

    आप इसे एक टेक्स्ट एडिटर के साथ रूट के रूप में खोल सकते हैं, औरसे "Program" कुंजी के लिए मान को बदल सकते हैं; आपके मामले में, शायद यह /usr/local/sbin/sshd है। फिर आप भी को ProgramArguments तारों में से पहला को बदलने की आवश्यकता है, जो /usr/sbin/sshd कहता है, क्योंकि यह launchproxy पर तर्क के रूप में है। फिर, फिर से लोड करने,

    sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist 
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 
    
  2. मैं नहीं दिख रहा है कि कैसे सामान्य या अच्छी तरह से व्यवहार ओएस एक्स सॉफ्टवेयर के साथ किसी भी संघर्ष का कारण होना चाहिए।

  3. हाँ, यह मेरे लिए एक बहुत ही उचित चीज की तरह लगता है। सुरक्षा महत्वपूर्ण है।

  4. यह वास्तव में एक बहुत ही उत्तरदायी प्रश्न नहीं है। लेकिन लगभग निश्चित रूप से, हाँ, हर किसी के समान: ^)

  5. नहीं। वास्तव में चिंता करने की एकमात्र चीज यह है कि आप अपने एसएसडीडी को सुरक्षा के साथ-साथ ओएस की तुलना में बेहतर रखते हैं। यदि आप इस प्रश्न से उत्पन्न चिंताओं से अवगत हैं, तो मुझे नहीं लगता कि यह आपके लिए एक समस्या होगी।

संपादित करें: संपादन ssh.plist के लिए मेरे सुझाव सही किया (यह इस बार परीक्षण किया)।

+0

उपयोगी उत्तरों के लिए धन्यवाद। हालांकि, मैं अभी भी इसे काम करने में सक्षम नहीं हूं। शायद मैं ssh.plist में कुछ याद कर रहा हूँ। मैं उस प्रक्रिया को जोड़ रहा हूं जहां मैं ऊपर जा रहा हूं, मुझे बताएं कि क्या आप देखते हैं कि मैं कहां गलत हूं। –

+0

मैंने अभी/usr/libexec/sshd-keygen-wrapper के अंदर peeked और लाइन 'exec/usr/sbin/sshd $ @' पाया। क्या मुझे इसे मैन्युअल रूप से संपादित करने की आवश्यकता है? या '$ @ 'एक चर है जिसे xml फ़ाइल द्वारा प्रतिस्थापित किया जा रहा है? –

+0

ओह मैन, यह उल्लसित है। यह कमांड लाइन पर 'sshd-keygen-wrapper' पर sshd के पथ को पास करता है, लेकिन फिर वास्तव में इसका उपयोग नहीं किया जाता है। हाँ, मुझे लगता है कि आप उस plist में 'sshd-keygen-wrapper' को बदलने से बेहतर हैं। फिर तर्क सूची में '-i' तर्क रखें। –