No se puede ssh root @ localhost en iPad con jailbreak con iOS 8.1

3

Hace varias semanas liberé (no para piratas) mi iPad 4 (iOS 8.1) y encontré que no podía ssh [email protected] a través de Prompt 1 o 2 en iPad. Incluso no puedo conectarme a través de LAN IP (por ejemplo, 192.186.X.X). Sin embargo, no hay problema si ssh root @ LAN IP en mi iPhone o Mac en la misma LAN.

Por cierto, pude ssh root @ localhost en un iPad con jailbreak cuando ejecutaba iOS 6.1. También está bien si ya he iniciado sesión en ssh para iPad en mi Mac y ssh [email protected] nuevamente.

La salida de netstat en 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    

¿Alguien sabe la razón por la que el iPad no se puede conectar a sí mismo en las aplicaciones? (¿Tal vez el modelo de sandbox / containers ha sido cambiado desde iOS 8?)

    
pregunta fdb713 04.12.2014 - 09:46

3 respuestas

4

Una alternativa mucho mejor que ejecutar el indicador como raíz, es crear otra instancia sshd escuchando un puerto por encima de 1024.

En este ejemplo, he usado el puerto 10022.

  • Copie /Library/LaunchDaemons/com.openssh.sshd.plist a /Library/LaunchDaemons/com.openssh.sshd2.plist
  • Cambie el Label y el SockServiceName en com.openssh.sshd2.plist agregando 2 a ssh / sshd :

    • com.openssh.sshd - > %código%
    • com.openssh.sshd2 - > %código%
  • Agregue las siguientes líneas a ssh :

ssh2              10022/udp     # SSH Remote Login Protocol
ssh2              10022/tcp     # SSH Remote Login Protocol
  • Reinicia el dispositivo
  • Conéctese a través del puerto 10022 en lugar de 22

Si ha instalado ssh2 , /etc/services y bash , puede automatizarlo con este 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
    
respondido por el Tyilo 06.01.2015 - 16:33
4

El motivo se debe a que iOS 7 y 8 en el recinto de seguridad de las aplicaciones de la App Store. La solución más sencilla es a continuación (adaptado de enlace )

  1. Instale OpenSSH a través de Cydia
  2. Póngase en la misma red wifi que su Mac
  3. Toma tu dirección IP desde Configuración - > Wifi - > (i) icono
  4. Abre Terminal en tu mac y ssh root @
  5. La contraseña predeterminada es alpina. Utilice la contraseña para cambiar si aún no lo ha hecho
  6. establezca una contraseña de inicio de sesión para el nombre de usuario móvil si aún no lo ha hecho
      

    móvil con contraseña

  7.   
  8. vaya al directorio de aplicaciones

      

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

         

    cd / var / mobile / Applications < - iOS 7

  9. encuentra el aviso!

      

    ls ./*/*/Prompt*

    Esto te dará algo así como

      

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

  10. mueve el aviso!

      

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

    (Use su propio camino, en lugar de 3EE7B167-AF7B-497B-9C8E-EAC96F4AF0D9)
    También puedes chown root:admin -R /Applications/Prompt\ 2 .

  11. Vaya a la pantalla de inicio del dispositivo y elimine el ícono de Solicitud
  12. Reinicia al mantener presionado home y sleep / wake hasta que veas el ícono de Apple
  13. ssh vuelve al dispositivo usando ssh mobile @ (tu-ip-aquí). (Use la contraseña que creó en el paso 6).
  14. Ejecuta uicache: su -c uicache mobile
  15. Vuelva a la pantalla de inicio e inicie Solicitud (si no le permite conectarse a localhost, reinicie el dispositivo de nuevo)
  16. Ingrese la dirección IP como 127.0.0.1 o localhost, nombre de usuario raíz o móvil según su preferencia. Yo uso root para no tener que sudo excesivamente.
  17. Conéctese y disfrute de una experiencia de usuario de alta calidad gracias a localhost
  18. ¡Usa Panic Sync para restaurar tu configuración (claves y servidores)!
respondido por el Colin 05.01.2015 - 08:39
-1

si cambia el puerto 22 a 50022 (por ejemplo) funciona bien para mí

    
respondido por el Brian 31.12.2014 - 17:10

Lea otras preguntas en las etiquetas