IOS 10.2 पर OpenSSh को कैसे सक्षम करें


9

मैंने अपने iPhone 6s को iOS 10.2 पर चलने के लिए पूरी तरह से जेलब्रेक कर दिया है।

मैंने CSS के माध्यम से OpenSSH स्थापित किया है और MobileTerminal के माध्यम से अपना डिफ़ॉल्ट पासवर्ड बदल दिया है।

एकमात्र समस्या यह है, जब मैं दौड़ता हूं ssh root@my_iPhone_ip_addr, तो यह बस लटका रहता है और कभी जोड़ता नहीं है।

मैंने SSH टॉगल स्प्रिंगबोर्ड एप्लिकेशन की कोशिश की है, हालांकि यह अभी भी लटका हुआ है।

क्या मैं एक टर्मिनल कमांड या किसी अन्य तरीके से अपने फोन पर एसएसएच को कैसे सक्षम कर सकता हूं?


मैं USB के माध्यम से अपने डिवाइस से कनेक्ट करने के लिए iPhone सुरंग का उपयोग करता हूं: code.google.com/archive/p/iphonetunnel-mac/downloads
newenglander

जवाबों:


9

OpenSSH iOS 10.2 के साथ संगत नहीं है और जेलब्रेक के बाद के रिलीज में चीजों को तोड़ देगा। आपको ओपनएसएसएच और ओपनएसएसएल (निर्भरता) दोनों की स्थापना रद्द करनी चाहिए।

yalu102 ड्रॉपबियर के साथ आता है।


यह ट्वीट 10.2 जेलब्रेक की रिलीज से पहले किया गया था, इसलिए मुझे पूरा यकीन है कि यह अत्यधिक अस्थिर 10.1.1 भागने की बात कर रहा है। क्या आपके पास एक अद्यतन स्रोत है?
वाहफुन्हापी

कृपया ग्रेगसाइड की सलाह का पालन करें: OpenSSH की स्थापना रद्द करें। अपने ssh को वापस लाने के लिए चरण-दर-चरण निर्देशों के लिए मेरी पोस्ट देखें।
कॉलिन

6

आपको अंतर्निहित ड्रॉपबियर का उपयोग करना चाहिए। Yalu Beta 6 के रूप में, आपको USB पर पहले SSH की आवश्यकता है। फिर अपना पासवर्ड बदलने के बाद आप अन्य इंटरफेस पर ड्रॉपबियर को सक्षम कर सकते हैं।

लिनक्स या macOS:

  1. डाउनलोड करें गैंडलफ बायनेरिज़ (मेरे पास शून्य भाग्य संकलन था) ओमालम-यूस्बाम गीथब पृष्ठ से। macOS: gandalf_darwin_10_11_x86_64
  2. अपने डिवाइस को USB केबल के माध्यम से कनेक्ट करें, और इसके लिए स्कैन करें।
  3. Udid को एक मैपिंग फ़ाइल में रखें। सुनिश्चित करें कि device_port 22 (ssh) मैप किया गया है!
  4. अपनी मैपिंग फ़ाइल के साथ gandalf चलाएं
  5. SSH आपकी मैपिंग फ़ाइल में device_port 22 के अनुरूप local_port को।
  6. पासवर्ड अल्पाइन के साथ लॉग इन करें।
  7. अपना पासवर्ड बदलें!!!

स्कैन

$ gandalf

नमूना मैपिंग फ़ाइल

[{"udid":"9cdfac9f74c5e18a6eff3611c0927df5cf4f2eca",
  "name":"i11", "forwarding": [{"local_port":2000, "device_port":22},
                               {"local_port":3000, "device_port":1122}]
                               }]

मैपिंग फ़ाइल के साथ गंडालफ चलाएं

$ gandalf -m myMappingFile.txt

एसएसएच पोर्ट 2000 के लिए

$ ssh mobile@localhost -p 2000

पासवर्ड बदलें

$ passwd
$ su
$ passwd root

अब जब आप अपने iOS डिवाइस में हैं ( आपका पासवर्ड बदल दिया गया है, तो सही? ) आप अन्य इंटरफेस पर ड्रॉपबियर को निम्न प्रकार से सक्षम कर सकते हैं।

  1. Dropbear का दूसरा उदाहरण लॉन्च करने के लिए एक LaunchDaemon फ़ाइल बनाएँ।
  2. रिबूट या उपयोग launchctl load

LaunchDaemon फ़ाइल बनाएँ:

$ cd /Library/LaunchDaemons
$ cat <<EOF > ssh10022.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>Label</key>
    <string>SSH port 10022</string>
    <key>Program</key>
    <string>/usr/local/bin/dropbear</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/dropbear</string>
        <string>-F</string>
        <string>-R</string>
        <string>-p</string>
        <string>10022</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

इनपुट समाप्त करने के लिए Ctrl-D टाइप करें। अब फ़ाइल ssh10022.plist बनाता है

रिबूट या लॉन्चर का उपयोग करें

launchctl load /Library/LaunchDaemons/ssh10022.plist

मुद्दे:

ड्रॉपबियर मोबाइल होम निर्देशिका पर iOS डिफ़ॉल्ट अनुमतियों को पसंद नहीं करता है, इसलिए SSH कुंजी प्रमाणीकरण काम नहीं करता है। हर रिबूट के बाद मुझे पासवर्ड के साथ लॉग इन करना होगा और परमिशन फिक्स करनी होगी:

$ chmod go-w /var/mobile

ड्रॉपबियर को डीबग करने के लिए: रिडायरेक्ट ड्रॉपबियर स्टीडर में लॉग करता है (नीचे का उदाहरण पोर्ट 10023 पर अभी तक एक और उदाहरण चलता है)।

$ dropbear -E -p 10023

6

आप 10.2 जेलब्रेक के साथ वाईफाई पर ssh से कनेक्ट नहीं कर सकते। आपको USB पर ssh करना होगा। वे कई विकल्प हैं लेकिन सबसे आसान उपयोग है iproxy

  1. IProxy स्थापित करें

    brew install libimobiledevice

  2. टर्मिनल पर अब निम्न कमांड चलाएँ।

    iproxy 2222 22

    यह आपको यूएसबी पर पोर्ट 2222 से पोर्ट 22 तक सभी ट्रैफिक को फॉरवर्ड करने में सक्षम करेगा

  3. अब आप ssh चलाकर iPhone से जुड़ सकते हैं

    ssh root@localhost -p 2222

ध्यान दें कि आप localhostअपने फोन के आईपी पते से नहीं जुड़े हैं। यदि सबकुछ ठीक हो गया, तो आपको ssh प्रॉम्प्ट के साथ प्रस्तुत किया जाना चाहिए।

यदि यह काम नहीं करता है, तो जांचें कि क्या ssh चलकर iPhone पर चल रहा है

telnet <iphone-ip-address-here> 22

यदि आप कनेक्ट नहीं कर सकते हैं तो सुनिश्चित करें कि आप opensshCydia से पैकेज स्थापित करें ।


शायद OpenSSH को स्थापित करने का सुझाव नहीं दिया जाना चाहिए क्योंकि जेलब्रेक के लेखक, qwertyoruiop विशेष रूप से OpenSSH को स्थापित नहीं करने के लिए कहते हैं।
कॉलिन

1
मैं का उपयोग कर कनेक्ट नहीं कर सका Dropbear, मेरे मामले में मुझे OpenSSHपैकेज स्थापित करना पड़ा , यही कारण है कि मैंने सुझाव दिया कि जैसे अन्य निर्देश बीटा जेलब्रेक पर आधारित प्रतीत होते हैं
जोसेफ

यह सच नहीं है। आप 10.2 जेलब्रेक के साथ वाईफ़ाई पर SSH से जुड़ सकते हैं। यह सिर्फ आप सभी इंटरफेस पर सुनने के लिए ड्रॉपबियर कॉन्फ़िगरेशन को अपडेट करने की आवश्यकता है।
डग

@ डॉग ने उत्तर को संपादित किया और एसएसएचआई को वाईफाई पर सक्षम करने के निर्देश दिए।
यूसुफ

3

@ कोलिन के पास युलु जेलब्रेक का शानदार जवाब है, लेकिन मैंने कुछ अलग तरीके से किया जो लोगों के लिए उपयोगी हो सकता है। उनका जवाब एक नए नाम के साथ एक नया डेमॉन बनाने पर केंद्रित है ताकि प्रभावी रूप से आपके पास एसएसएच पर चलने वाले दो डेमन हों। एक USB के लिए और दूसरा TCP कनेक्शन के लिए। मुझे एक श्रोता चाहिए था जो सभी इंटरफेस पर सुनता था। मैं विंडोज पर भी था और उस चीज के साथ काम करना था, जो गैल्डोल्फ ने नहीं किया था। परिणामस्वरूप मैं एक पायथन स्क्रिप्ट के साथ गया , जिसे मैंने यह सुनिश्चित करने के लिए कांटा कि यह मुझ पर कभी गायब न हो।

इसका उपयोग करने के लिए, दौड़ें:

python usbmuxd\pythonclient\tcprelay.py -t 22:2222

उपर्युक्त नक्शे स्थानीय बंदरगाह 2222 से दूरस्थ बंदरगाह 22 तक। एक बार जब यह सेटअप हो जाता है तो आप कनेक्ट करने के लिए अपने पसंदीदा एसएसएच उपयोगिता का उपयोग कर सकते हैं। मैंने पुट्टी का उपयोग किया ।

  • मेजबान: 127.0.0.1
  • पोर्ट: 2222

"रूट" और "अल्पाइन" के पासवर्ड का डिफ़ॉल्ट उपयोगकर्ता नाम, लेकिन "मोबाइल" का उपयोगकर्ता नाम और "अल्पाइन" का पासवर्ड भी कनेक्ट करने के लिए उपयोग किया जा सकता है।

नोट: यदि आप रूट पासवर्ड नहीं जानते हैं, तो Filza का उपयोग /etc/master.passwd की अनुमतियों को 666 में बदलने के लिए करें, फिर SSH के माध्यम से मोबाइल उपयोगकर्ता के रूप में, या अपने पसंदीदा फ़ाइल संपादक का उपयोग करके, हैश की प्रतिलिपि बनाने के लिए उस फ़ाइल को संपादित करें पासवर्ड बनाने के लिए "मोबाइल" से लेकर "रूट" तक। ("अल्पाइन" के लिए हैश "/ smx7MYTQIi2M" है, यदि इसकी आवश्यकता है)। आपको तब रूट के रूप में लॉगिन करने में सक्षम होना चाहिए, या सु का उपयोग करना चाहिए।

एक बार लॉग इन करने के बाद आप अपने मशीन पर वर्तमान में मौजूद droplist.plist की प्रतियां ढूंढना चाहते हैं। ऐसा करने के लिए संभवतः अधिक कुशल तरीके हैं, लेकिन मैंने निम्नलिखित कमांड का उपयोग किया:

find . | grep dropbear.plist

जिसकी पैदावार हुई:

./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist

पहला प्रवेश सक्रिय डेमॉन है, लेकिन दूसरा महत्वपूर्ण है। इसका दैत्य जो युलु हर बार जेलब्रेक चलाने के लिए डालता है (जो आपको हर रिबूट के साथ करना पड़ता है)। यदि आप केवल /Library/LaunchDaemons/dropbear.plist को संपादित करते हैं, तो इसे हर बार आपके द्वारा रीबूट करने के बाद बदल दिया जाएगा।

परिणामस्वरूप हम उस एक को संपादित करने जा रहे हैं जो युलु के साथ पैक किया गया है, लेकिन यदि आप उस फ़ाइल को कैट करते हैं तो आप उसे बाइनरी PLIST प्रारूप में देखेंगे। इसे ठीक करने के लिए हमें प्लूटिल पाने के लिए एरिका यूटिलिटीज की आवश्यकता है । फिर आप चला सकते हैं:

plutil -xml dropbear.plist

यह dropbear.plist को XML फॉर्मेट में बदल देगा। एक बार यह हो जाने के बाद आप फ़ाइल को किसी भी टेक्स्ट एडिटर में एडिट कर सकते हैं। मैंने वास्तविक संपादन करने के लिए नैनो का उपयोग किया ।

जैसे

nano dropbear.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>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>ShaiHulud</string>
        <key>Program</key>
        <string>/usr/local/bin/dropbear</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/dropbear</string>
                <string>-F</string>
                <string>-R</string>
                <string>-p</string>
                <string>22</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

एक बार जब आप ऐसा कर लेंगे कि आप फ़ाइल को बाइनरी प्रारूप में वापस रखना चाहेंगे:

plutil -binary dropbear.plist

इस बिंदु पर मैं आपको सुझाव देता हूं कि आप डिवाइस को रिबूट करें और पुष्टि करें कि जब आप फिर से जेलब्रेक करते हैं तो Yalu dropbear.plist फ़ाइल को ठीक से कॉपी किया जाता है:

जैसे

reboot

रिबूट के बाद आपको अपने फोन के आईपी पते और मानक पोर्ट 22 का उपयोग करने में सक्षम होना चाहिए।

जैसे

  • होस्ट: (IP सेटिंग्स से -> WiFi -> (WIFI NAME)
  • पोर्ट: 22

आपके सभी चरणों को वर्तनी के लिए धन्यवाद! यह इसे और अधिक भविष्य के सबूत बनाता है। मैंने कोशिश की> मिल। | grep dropbear.pl को लिबरआईओएस जेलब्रेक पर ड्रॉपबियर कॉन्फ़िगरेशन खोजने के लिए, लेकिन मेरे पास कोई सुराग नहीं है कि उन्होंने कॉन्फ़िगरेशन कहां रखा है।
कॉलिन

1
के लिए नेविगेट करने की कोशिश करें: / लाइब्रेरी / LaunchDaemons / और देखें कि क्या आप उस नाम का पता लगा सकते हैं जो उन्होंने वहां इस्तेमाल किया था। सबसे अधिक संभावना है कि उन्होंने हर जगह एक ही नाम का इस्तेमाल किया। वह फ़ोल्डर वह जगह है जहां सभी डेमन स्क्रिप्ट हैं, इसलिए यदि उनके पास एक मौजूदा डेमॉन है तो उसे वहां संदर्भित करना होगा।
डग

सीडी / रनिंग खोजने से पहले भूल गए। | grep dropbear.plist। ओह।
कॉलिन

इससे मुझे एहसास हुआ कि हम इम्पैक्टोर के साथ डिवाइस पर अपलोड करने से पहले यूलु आईपीए में ड्रॉपबियर.प्लिस्ट को हैक करने का सुझाव दे सकते हैं। लेकिन तब फिर से जब कोई सीधे बाइनरी .plist फ़ाइलों को MacOS पर Xcode के साथ संपादित कर सकता है, मुझे नहीं पता कि ऐसी सुविधाएं विंडोज या लिनक्स में मौजूद हैं या नहीं।
कॉलिन

1
हां, यह किया जा सकता है: forensicswiki.org/wiki/Converting_Binary_Plists
डॉग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.