Impossibile ssh root @ localhost su iPad jailbroken con iOS 8.1

3

Ho effettuato il jailbreak (non per i pirati) sul mio iPad 4 (iOS 8.1) diverse settimane fa e non sono riuscito a ssh [email protected] tramite Prompt 1 o 2 su iPad. Anche io non riesco a collegarmi tramite IP LAN (ad esempio 192.186.X.X). Tuttavia, non c'è alcun problema se eseguo ssh root @ LAN IP sul mio iPhone o Mac nella stessa LAN.

A proposito, sono stato in grado di ssh root @ localhost su iPad jailbreaked quando era in esecuzione iOS 6.1. Va bene anche se ho già eseguito ssh su iPad sul mio Mac e ssh [email protected] di nuovo.

L'output di netstat su iPad:

Surface-Pro:~ root# netstat -an|grep .22  
tcp4       0     28  172.22.29.64.22        172.22.26.158.47927    ESTABLISHED  
tcp4       0      0  172.22.29.64.50293     17.110.228.29.5223     ESTABLISHED  
tcp4       0      0  *.22    

Qualcuno sa il motivo per cui iPad non può connettersi a se stesso nelle app? (Forse il modello sandbox / container è stato modificato da iOS 8?)

    
posta fdb713 04.12.2014 - 09:46
fonte

3 risposte

4

Un'alternativa molto migliore rispetto a eseguire Prompt come root, consiste nel creare un'altra istanza di sshd in ascolto su una porta superiore a 1024.

In questo esempio ho usato la porta 10022.

  • Copia /Library/LaunchDaemons/com.openssh.sshd.plist in /Library/LaunchDaemons/com.openssh.sshd2.plist
  • Cambia Label e SockServiceName in com.openssh.sshd2.plist aggiungendo da 2 a ssh / sshd :

    • com.openssh.sshd - > %codice%
    • com.openssh.sshd2 - > %codice%
  • Aggiungi le seguenti righe a ssh :

ssh2              10022/udp     # SSH Remote Login Protocol
ssh2              10022/tcp     # SSH Remote Login Protocol
  • Riavvia il dispositivo
  • Connetti tramite la porta 10022 anziché 22

Se hai installato ssh2 , /etc/services e bash puoi automatizzarlo con questo script:

#!/bin/bash
cd /Library/LaunchDaemons
cp com.openssh.sshd{,2}.plist
sed -i'' '/<key>Label<\/key>/{N;s/sshd/sshd2/}' com.openssh.sshd2.plist
sed -i'' '/<key>SockServiceName<\/key>/{N;s/ssh/ssh2/}' com.openssh.sshd2.plist

cd /etc
if ! grep ssh2 services; then
    cat >> services <<EOF
ssh2              10022/udp     # SSH Remote Login Protocol
ssh2              10022/tcp     # SSH Remote Login Protocol
EOF
fi
    
risposta data 06.01.2015 - 16:33
fonte
4

Il motivo è perché iOS 7 e 8 sandbox le app dall'App Store. La soluzione più semplice è riportata di seguito (adattato da link )

  1. Installa OpenSSH tramite Cydia
  2. Utilizza la stessa rete Wi-Fi del tuo Mac
  3. Prendi il tuo indirizzo IP da Impostazioni - > Wifi - > (i) icona
  4. Apri il terminale sulla tua radice mac e ssh @
  5. La password predefinita è alpina. Usa passwd per cambiare se non hai ancora
  6. imposta una password di accesso per il nome utente del cellulare, se non lo hai ancora fatto

    passwd mobile

  7.   
  8. vai alla directory dell'applicazione

    cd /var/mobile/Containers/Bundle/Application/ <-- iOS 8

    cd /var/mobile/Applications <-- iOS 7

  9. trova Prompt!

    ls ./*/*/Prompt*

    Questo ti darà qualcosa come

    ./3EE7B167-AF7B-497B-9C8E-EAC96F4AF0D9/Prompt 2.app/Prompt 2

  10. sposta Prompt!

    mv "./3EE7B167-AF7B-497B-9C8E-EAC96F4AF0D9/Prompt 2.app" /Applications/

    (Usa il tuo percorso personale, invece di 3EE7B167-AF7B-497B-9C8E-EAC96F4AF0D9)
    Puoi anche chown root:admin -R /Applications/Prompt\ 2 .

  11. Vai alla schermata iniziale del dispositivo ed elimina l'icona per Prompt
  12. Riavvia tenendo premuto a casa e vai a dormire / scia finché non vedi l'icona di Apple
  13. ssh di nuovo nel dispositivo usando ssh mobile @ (il tuo-ip-qui). (Usa la password creata al punto 6).
  14. Esegui uicache: su -c uicache mobile
  15. Torna alla schermata iniziale e lancia Prompt (se non ti consente di connetterti a localhost, riavvia il dispositivo di nuovo)
  16. Inserisci l'ip come 127.0.0.1 o localhost, username root o mobile secondo le tue preferenze. Io uso root quindi non devo troppo sudo.
  17. Connetti e goditi un'esperienza utente di alta qualità ssh'ing su localhost
  18. Utilizza Panic Sync per ripristinare le tue impostazioni (chiavi e server)!
risposta data 05.01.2015 - 08:39
fonte
-1

se si modifica la porta da 22 a 50022 (ad esempio) funziona bene per me

    
risposta data 31.12.2014 - 17:10
fonte

Leggi altre domande sui tag