İOS 10.2'de OpenSSh nasıl etkinleştirilir


9

İOS 10.2'de çalışan iPhone 6'larımı başarıyla kırdım.

OpenSSH'yi Cydia aracılığıyla yükledim ve MobileTerminal üzerinden varsayılan şifremi değiştirdim.

Tek sorun, koştuğumda ssh root@my_iPhone_ip_addr, sadece asılı ve asla bağlanmadığı.

SSH geçiş sıçrama tahtası uygulamasını denedim, ancak hala asılı.

Terminal komutuyla veya başka bir yolla telefonumda SSH'yi nasıl etkinleştirebilirim?


Cihazımı USB üzerinden ssh ile bağlamak için iPhone Tüneli kullanıyorum: code.google.com/archive/p/iphonetunnel-mac/downloads
newenglander

Yanıtlar:


9

Bu tweet 10.2 Jailbreak'nin yayınlanmasından önce yapıldı, bu yüzden oldukça kararsız 10.1.1 Jailbreak'den bahsettiğinden eminim. Güncellenmiş bir kaynağınız var mı?
Wowfunhappy

Lütfen grgarside'ın tavsiyelerine uyun: OpenSSH'yi kaldırın. Ssh'nizi geri almak için adım adım talimatlar için yazımı görün.
Colin

6

Dahili Dropbear'ı kullanmalısınız. Yalu Beta 6'dan önce USB üzerinden ilk SSH'ye ihtiyacınız var. Ardından şifrenizi değiştirdikten sonra diğer arayüzlerde Dropbear'ı etkinleştirebilirsiniz.

Linux veya macOS:

  1. Ocaml-usbmux github sayfasından gandalf ikili dosyalarını (sıfır şans derleme vardı) indirin . macOS: gandalf_darwin_10_11_x86_64
  2. Cihazınızı USB kablosuyla bağlayın ve tarayın.
  3. Udid'i bir eşleme dosyasına yerleştirin. Device_port 22 (ssh) öğesinin eşlendiğinden emin olun!
  4. Eşleme dosyanızla gandalf'ı çalıştırın
  5. Eşleme dosyanızdaki device_port 22'ye karşılık gelen local_port'a SSH.
  6. Alpin şifresi ile giriş yapın.
  7. ŞİFRENİ DEĞİŞTİR!!!

taramak

$ gandalf

Örnek Eşleme Dosyası

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

Gandalf'ı Eşleme Dosyasıyla Çalıştırma

$ gandalf -m myMappingFile.txt

SSH - 2000 bağlantı noktası

$ ssh mobile@localhost -p 2000

Şifreleri değiştir

$ passwd
$ su
$ passwd root

Şimdi iOS cihazınızda olduğundan ( şifreniz, hakkını değişmiştir? ) Aşağıdaki gibi diğer arayüzleri üzerinde dropbear etkinleştirebilirsiniz.

  1. Dropbear'ın ikinci bir örneğini başlatmak için bir LaunchDaemon dosyası oluşturun.
  2. Yeniden başlat veya kullan launchctl load

LaunchDaemon dosyası oluşturun:

$ cd /Library/LaunchDaemons
$ cat <<EOF > ssh10022.plist

Bunu terminale yapıştırın:

<?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>

Girişi sonlandırmak için Ctrl-D yazın. Şimdi ssh10022.plist dosyasını oluşturur

Yeniden başlatma veya launchctl kullanma

launchctl load /Library/LaunchDaemons/ssh10022.plist

Sorunlar:

Dropbear, mobil giriş dizinindeki iOS varsayılan izinlerinden hoşlanmaz, bu nedenle SSH anahtarı kimlik doğrulaması çalışmaz. Her yeniden başlatmadan sonra şifre ile giriş yapmak ve izinleri düzeltmek zorundayım:

$ chmod go-w /var/mobile

Dropbear hata ayıklamak için: Dropbear günlüklerini stderr'e yeniden yönlendirin (aşağıdaki örnek 10023 numaralı bağlantı noktasında başka bir örneği çalıştırır).

$ dropbear -E -p 10023

6

10.2 jailbreak ile wifi üzerinden ssh'a bağlanamazsınız. USB üzerinden ssh gerekir. Bunlar birkaç seçenek ama en kolayı kullanmak iproxy.

  1. İproxy yükleyin

    brew install libimobiledevice

  2. Terminalde şimdi aşağıdaki komutu çalıştırın.

    iproxy 2222 22

    Bu, 2222 numaralı bağlantı noktasından 22 numaralı bağlantı noktasına USB üzerinden tüm trafiği iletmenizi sağlar

  3. Artık iPhone'a ssh çalıştırarak bağlanabilirsiniz.

    ssh root@localhost -p 2222

localhostTelefonunuzun ip adresine değil bağlandığınıza dikkat edin . Her şey yolunda giderse, size ssh istemi sunulmalıdır.

Çalışmazsa, ssh'nin iPhone'da çalışıp çalışmadığını kontrol edin

telnet <iphone-ip-address-here> 22

Bağlanamıyorsanız opensshpaketi Cydia'dan yüklediğinizden emin olun .


Jailbreak yazarı qwertyoruiop özellikle OpenSSH'yi kurmama diyor çünkü OpenSSH'yi yüklemeyi önermemeliyiz.
Colin

1
Kullanarak bağlanamadım Dropbear, benim durumumda OpenSSHpaketi kurmak zorunda kaldım , bu yüzden diğer talimatların beta jailbreak'a dayanıyor gibi görünmesini önerdim
Joseph

Bu doğru değil. 10.2 Jailbreak ile Wifi üzerinden SSH'ye bağlanabilirsiniz. Sadece tüm arayüzlerde dinlemesini sağlamak için dropbear yapılandırmasını güncellemenizi gerektirir.
Doug

@ Cevabı düzenleyin ve SSH'yi wifi üzerinden etkinleştirme talimatlarını koyun.
Joseph

3

@Colin Yulu jailbreak için harika bir cevabı var, ama insanlar için yararlı olabilecek biraz farklı şeyler yaptım. Onun cevabı, etkili bir şekilde SSH çalıştıran iki cininiz olması için yeni bir adla yeni bir daemon yaratmaya odaklanıyor. Biri USB, diğeri diğer TCP bağlantıları için. Tüm arayüzleri dinleyen bir dinleyici istedim. Ben de Windows'daydım ve bununla çalışan, Galdolf'un yapmadığı bir şeye ihtiyacım vardı. Sonuç olarak , Python Script ile gittim , bu da beni asla kaybetmediğinden emin olmak için çatallandım .

Bunu kullanmak için şunu çalıştırın:

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

Yukarıdaki 2222 numaralı yerel bağlantı noktasını 22 numaralı uzak bağlantı noktasına eşler. Bu kurulum yapıldıktan sonra bağlanmak için en sevdiğiniz SSH yardımcı programını kullanabilirsiniz. Putty'yi kullandım .

  • Ana Bilgisayar: 127.0.0.1
  • Liman: 2222

Varsayılan "root" kullanıcı adı ve "alp" şifresi, ancak "mobile" kullanıcı adı ve "alp" şifresi de bağlanmak için kullanılabilir.

NOT: Kök parolasını bilmiyorsanız, /etc/master.passwd izinlerini 666 olarak değiştirmek için Filza'yı kullanın, ardından mobil kullanıcı olarak SSH aracılığıyla veya en sevdiğiniz dosya düzenleyicisini kullanarak bu dosyayı düzenleyerek karmayı kopyalayın şifreleri aynı yapmak için "mobil" den "kök" e. (Gerekirse "alp" karması "/ smx7MYTQIi2M" dir). Daha sonra root olarak giriş yapabilmeniz veya su kullanabilmeniz gerekir.

Giriş yaptıktan sonra, şu anda makinenizde bulunan droplist.plist kopyalarını bulmak isteyeceksiniz. Bunu yapmanın muhtemelen daha etkili yolları vardır, ancak aşağıdaki komutu kullandım:

find . | grep dropbear.plist

Hangi verdi:

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

İlk giriş aktif arka plan programıdır, ancak ikinci giriş daha önemlidir. Onun jailbreak her çalıştırdığınızda Yulu koyar daemon (Hangi her yeniden başlatma ile yapmak zorunda). Yalnızca /Library/LaunchDaemons/dropbear.plist dosyasını düzenlerseniz, her yeniden başlatışınızda değiştirilir.

Sonuç olarak Yulu ile paketlenmiş olanı düzenleyeceğiz, ancak dosyayı seçerseniz dosyayı ikili PLIST formatında göreceksiniz. Bunu düzeltmek için plutil almak için Erica Utilities'e ihtiyacımız var . Daha sonra şunları çalıştırabilirsiniz:

plutil -xml dropbear.plist

Bu, dropbear.plist'i XML formatına dönüştürecektir. Bu yapıldıktan sonra dosyayı herhangi bir metin düzenleyicisinde düzenleyebilirsiniz. Gerçek düzenlemeyi yapmak için nano kullandım .

Örneğin

nano dropbear.plist

Dosyayı düzenlerken, son string girişinden "localhost:" kaynağından kurtulmak istersiniz. Bu, dinleyicinin yalnızca geridöngü arabirimi yerine tüm arabirimlerde çalışmasını sağlar (Yalnızca USB üzerinden kullanılabilir). Sonuç olarak dosyanız:

<?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>

Bunu yaptıktan sonra dosyayı ikili biçimde geri koymak isteyeceksiniz:

plutil -binary dropbear.plist

Bu noktada cihazı yeniden başlatmanızı ve jailbreak yaptığınızda Yalu dropbear.plist dosyasının düzgün bir şekilde kopyalandığını doğrulamanızı öneririm:

Örneğin

reboot

Yeniden başlattıktan sonra, telefonunuzun IP adresini ve standart bağlantı noktası 22'yi kullanarak SSH kullanabilmeniz gerekir.

Örneğin

  • Ana Bilgisayar: (Ayarlar'dan IP -> WiFi -> (WIFI ADI)
  • Liman: 22

Tüm adımlarınızı hecelediğiniz için teşekkürler! Bu da onu geleceğe daha dayanıklı hale getirir. > Bulmaya çalıştım. | grep dropbear.plist LiberIOS jailbreak üzerinde dropbear yapılandırma bulmak için ama onlar yapılandırma koymak hiçbir ipucu var.
Colin

1
: / Library / LaunchDaemons / dizinine gitmeyi deneyin ve orada kullandıkları adı çözüp çözemeyeceğinize bakın. Büyük olasılıkla her yerde aynı ismi kullandılar. Bu klasör tüm daemon komut dosyalarının bulunduğu yerdir, bu yüzden mevcut bir daemon'a sahipse, oraya başvurulması gerekir.
Doug

Bulmayı çalıştırmadan önce cd / 'ye unuttum. | grep dropbear.plist. Duh.
Colin

Bu, Impactor ile cihaza yüklemeden önce Yalu IPA'daki Dropbear.plist'i hacklememizi önerebilmemi sağladı. Ama sonra bir kez macOS üzerinde Xcode ile ikili .plist dosyalarını doğrudan düzenleyebilirken, bu tür tesislerin Windows veya Linux'ta olup olmadığını bilmiyorum.
Colin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.