कैसे ssh बदलने के लिए: // का उपयोग करता है?


9

लगता है मेरी मैकबुक प्रो पर दो अलग-अलग एसएसएच क्लाइंट संस्करण हैं जो सिएरा (10.12.4) चल रहे हैं। यदि मैं निम्नलिखित कार्य करता हूं:

$> ssh dev

यह ठीक काम करता है। हालांकि, अगर मैं निम्नलिखित कार्य करता हूं:

$> open ssh://dev

यह एक नया टर्मिनल खोलता है जो तब मेरी ssh_configफ़ाइल में एन्क्रिप्शन सेटिंग्स के बारे में शिकायत करता है। विशिष्ट शिकायतों पर शोध करते हुए, मुझे पता चला कि प्रोटोकॉल हैंडलर के माध्यम से खोलना SSH के पुराने संस्करण का उपयोग कर रहा है।

मैं कैसे बदल सकता हूँ जो SSH क्लाइंट प्रोटोकॉल को पुनर्निर्देशित करता है?


1
जब आप "ssh" टाइप करते हैं और दूसरी कमांड चलाने के बाद "ps aux | grep ssh" टाइप करने पर आपको क्या मिलता है?
ब्रेथिल

कौन सा ssh: /usr/local/bin/ssh SSH प्रक्रिया इसे दूसरी विधि के माध्यम से चलाने के बाद खुद को मार देती है, मुझे यकीन नहीं है कि मैं इसे प्रक्रिया सूची में देखने के लिए कैसे जीवित रखूंगा।
जोशुआ गिलमैन

जवाबों:


4

आप एक उपकरण का उपयोग कर सकते हैं जो विशिष्ट URL हैंडलर्स के लिए डिफ़ॉल्ट ऐप को बदलने के लिए बहुत आरामदायक है।

RCDefaultApp के साथ ssh URL स्कीम बदलें

  1. डाउनलोड RCDefaultApp संस्करण 2.1
  2. वरीयता फलक स्थापित करें
  3. सिस्टम प्राथमिकताएं> डिफॉल्ट ऐप्स> URL पर जाएं
  4. "Ssh" पर जाएं
  5. दाईं ओर, अपने पसंदीदा एप्लिकेशन का चयन करें

यह इस स्क्रीनशॉट के समान दिखाई देगा:

RCDefaultApp स्क्रीनशॉट प्राथमिकता फलक दिखा रहा है


यह समस्या टर्मिनल एप्लिकेशन पर आधारित नहीं है, बल्कि SSH बाइनरी को कहा जा रहा है। मैं टर्मिनल के बजाय iTerm खोलने के लिए एप्लिकेशन को बदल सकता हूं और समस्या अभी भी बनी हुई है।
जोशुआ गिलमैन

1

Ssh बदलने के बारे में आपके प्रश्न का उत्तर देने के लिए: // प्रोटोकॉल क्लाइंट,

Https://superuser.com/a/548122/202319 के अनुसार , आप ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plistssh: // या किसी अन्य URL के सामने आने पर पंजीकृत पहचानकर्ता के साथ किसी भी ऐप को खोलने के लिए संशोधित कर सकते हैं ।

यह एक सही समाधान नहीं है, क्योंकि इसके लिए अभी भी एक ऐप बंडल की आवश्यकता है, या टर्मिनल का उपयोग करेगा ।app (जो कि आप पहले से ही देख रहे हैं)।

लेकिन, आपको अपनी .login या .bashrc फ़ाइलों को ठीक करने में सक्षम होना चाहिए ताकि डिफ़ॉल्ट Terminal.app शेल आपके पसंदीदा का उपयोग करें ssh


1
क्या आप विस्तार .loginऔर .bashrcविन्यास में परिवर्तन कर सकते हैं ? समस्या यह नहीं है कि कौन सा टर्मिनल ऐप खोला जा रहा है, बल्कि एसएसएच बाइनरी को निष्पादित किया जा रहा है। कॉलिंग sshएक टर्मिनल सत्र के अंदर एक द्विआधारी कहता है, लेकिन टर्मिनल खोलने प्रोटोकॉल के माध्यम से कनेक्शन एक और SSH द्विआधारी बुला रहा है है।
जोशुआ गिलमैन

0

मेरे पास अभी जांच करने के लिए कोई मैक नहीं है लेकिन मेरा अनुमान है:

मैक ssh क्लाइंट / usr / bin / ssh के साथ आता है

आपने / usr / स्थानीय / बिन / ssh पर नया संस्करण स्थापित किया

आप $ path को हटाने / usr / bin / ssh या पुनर्व्यवस्थित करने का प्रयास कर सकते हैं, इसलिए इसे पहले / usr / local / bin / ssh चुनेंगे


दुर्भाग्य से Apple ने / usr / bin में सामान छूने की क्षमता को मार दिया। मैंने पहले ही अपने स्थानीय बिन अपफ्रंट को लगाने के लिए पैथ वेरिएबल को फिर से व्यवस्थित करने की कोशिश की थी, लेकिन ऐसा लगता है कि ssh: // प्रोटोकॉल स्पष्ट रूप से कॉल कर रहा है / usr / bin / ssh, क्योंकि परिवर्तन काम नहीं करता था।
जोशुआ गिलमैन

यदि आप पुनर्प्राप्ति मोड में SIP को अक्षम कर सकते हैं:csrutil disable
Michał G 20sior
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.