9 votes

Comment activer OpenSSh sur iOS 10.2

J'ai réussi à jailbroker mon iPhone 6s fonctionnant sous iOS 10.2.

J'ai installé OpenSSH via Cydia et changé mon mot de passe par défaut via MobileTerminal.

Le seul problème est que, quand je lance ssh root@my_iPhone_ip_addr il se bloque et ne se connecte jamais.

J'ai essayé l'application SSH toggle springboard, mais elle se bloque toujours.

Existe-t-il un moyen d'activer SSH sur mon téléphone via une commande de terminal ou un autre moyen ?

0 votes

J'utilise iPhone Tunnel pour me connecter à mon appareil via ssh sur USB : code.google.com/archive/p/iphonetunnel-mac/downloads

9voto

grg Points 181593

0 votes

Ce tweet a été fait avant la sortie de la 10.2 Jailbreak, donc je suis presque sûr qu'il se réfère à la très instable 10.1.1 Jailbreak. Avez-vous une source mise à jour ?

0 votes

Veuillez suivre le conseil de grgarside : désinstallez OpenSSH. Voir mon post pour des instructions étape par étape pour récupérer votre ssh.

6voto

Colin Points 340

Vous devriez utiliser le Dropbear intégré. A partir de Yalu Beta 6, vous devez d'abord SSH sur USB. Ensuite, après avoir changé votre mot de passe, vous pouvez activer Dropbear sur d'autres interfaces.

Linux ou MacOS :

  1. Téléchargez les binaires de gandalf (je n'ai eu aucune chance de les compiler) à partir de l'adresse suivante ocaml-usbmux page github. MacOS: gandalf_darwin_10_11_x86_64
  2. Connectez votre appareil via un câble USB, et recherchez-le.
  3. Mettez l'udid dans un fichier de correspondance. Assurez-vous que le device_port 22 (ssh) est mappé !
  4. Exécutez gandalf avec votre fichier de cartographie
  5. SSH au local_port correspondant au device_port 22 dans votre fichier de mapping.
  6. Connectez-vous avec le mot de passe alpine.
  7. CHANGEZ VOTRE MOT DE PASSE ! !!

Scanner

$ gandalf

Exemple de fichier de mappage

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

Lancer Gandalf avec le fichier de correspondance

$ gandalf -m myMappingFile.txt

SSH au port 2000

$ ssh mobile@localhost -p 2000

Modifier le(s) mot(s) de passe

$ passwd
$ su
$ passwd root

Maintenant que vous êtes dans votre appareil iOS ( votre mot de passe a été changé, n'est-ce pas ? ) vous pouvez activer Dropbear sur d'autres interfaces comme suit.

  1. Créez un fichier LaunchDaemon pour lancer une deuxième instance de Dropbear.
  2. Redémarrer ou utiliser launchctl load

Créer le fichier LaunchDaemon :

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

Collez ceci dans le terminal :

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

Tapez Ctrl-D pour terminer la saisie. Cela crée maintenant le fichier ssh10022.plist

Redémarrer ou utiliser launchctl

launchctl load /Library/LaunchDaemons/ssh10022.plist

Questions :

Dropbear n'aime pas les autorisations par défaut d'iOS sur le répertoire d'accueil mobile, de sorte que l'authentification par clé SSH ne fonctionne pas. Après chaque redémarrage, je dois me connecter avec un mot de passe et corriger les autorisations :

$ chmod go-w /var/mobile

Pour déboguer Dropbear : Rediriger les journaux de Dropbear vers stderr (l'exemple ci-dessous exécute une autre instance sur le port 10023).

$ dropbear -E -p 10023

6voto

Joseph Points 161

Vous ne pouvez pas vous connecter à ssh par wifi avec la 10.2 Jailbreak. Vous devez vous connecter à ssh par USB. Il y a plusieurs options mais le plus simple est d'utiliser iproxy .

  1. Installer iproxy

    brew install libimobiledevice

  2. Sur le terminal, exécutez maintenant la commande suivante.

    iproxy 2222 22

    Cela vous permettra de transférer tout le trafic du port 2222 au port 22 par USB.

  3. Maintenant vous pouvez vous connecter à l'iPhone en exécutant ssh

    ssh root@localhost -p 2222

Remarquez que vous vous connectez à localhost pas l'adresse IP de votre téléphone. Si tout s'est bien passé, vous devriez voir apparaître l'invite ssh.

Si cela ne fonctionne pas, vérifiez si ssh fonctionne sur l'iPhone en exécutant

telnet <iphone-ip-address-here> 22

Si vous ne pouvez pas vous connecter, assurez-vous d'avoir installé le openssh depuis Cydia.

0 votes

Il ne faut probablement pas suggérer d'installer OpenSSH car l'auteur du Jailbreak, qwertyoruiop dit spécifiquement de ne pas installer OpenSSH.

1 votes

Je n'ai pas pu me connecter en utilisant Dropbear Dans mon cas, j'ai dû installer le OpenSSH c'est la raison pour laquelle j'ai suggéré cela car les autres instructions semblent être basées sur la bêta Jailbreak.

0 votes

Ce n'est pas vrai. Vous POUVEZ vous connecter en SSH sur Wifi avec la 10.2 Jailbreak. Cela nécessite juste de mettre à jour la configuration de dropbear afin qu'il écoute sur toutes les interfaces.

3voto

Doug Points 131

@Colin a une excellente réponse pour le Yulu Jailbreak, mais j'ai fait les choses un peu différemment qui peuvent être utiles aux gens. Sa réponse se concentre sur la création d'un nouveau démon avec un nouveau nom afin qu'effectivement vous ayez deux démons exécutant SSH. Un pour l'USB et un pour les autres connexions TCP. Je voulais un seul listener qui écoute sur toutes les interfaces. J'étais également sous Windows et j'avais besoin de quelque chose qui fonctionne avec ce système, ce qui n'est pas le cas de Galdolf. En conséquence, j'ai opté pour un Python script que je fourche pour être sûr qu'il ne disparaisse jamais.

Pour l'utiliser, exécutez :

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

Ce qui précède met en correspondance le port local 2222 avec le port distant 22. Une fois cette configuration effectuée, vous pouvez utiliser votre utilitaire SSH préféré pour vous connecter. J'ai utilisé Mastic .

  • Hôte : 127.0.0.1
  • Port : 2222

Le nom d'utilisateur par défaut est "Root" et le mot de passe "alpine", mais un nom d'utilisateur "mobile" et un mot de passe "alpine" peuvent également être utilisés pour se connecter.

NOTE : Si vous ne connaissez pas le mot de passe Root, utilisez Filza pour changer les permissions de /etc/master.passwd à 666, puis via SSH en tant qu'utilisateur mobile, ou en utilisant votre éditeur de fichier favori, éditez ce fichier pour copier le hash de "mobile" vers "Root" pour que les mots de passe soient les mêmes. (Le hash pour "alpine" est "/smx7MYTQIi2M", si nécessaire). Vous devriez alors pouvoir vous connecter en tant que Root, ou utiliser su.

Une fois que vous êtes connecté, vous devez trouver les copies de droplist.plist qui sont actuellement sur votre machine. Il y a probablement des moyens plus efficaces de le faire, mais j'ai utilisé la commande suivante :

find . | grep dropbear.plist

Ce qui a donné :

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

La première entrée est le démon actif, mais la seconde est plus importante. C'est le démon que Yulu met en place chaque fois que vous exécutez le Jailbreak (Ce que vous devez faire à chaque redémarrage). Si vous éditez seulement /Library/LaunchDaemons/dropbear.plist, il sera remplacé à chaque redémarrage.

Par conséquent, nous allons éditer celui qui est fourni avec Yulu, mais si vous attrapez le fichier, vous remarquerez qu'il est dans un format binaire PLIST. Pour corriger cela, nous avons besoin de Erica Utilities afin d'obtenir plutil. Vous pouvez alors l'exécuter :

plutil -xml dropbear.plist

Cela convertira le fichier dropbear.plist au format XML. Une fois que c'est fait, vous pouvez éditer le fichier dans n'importe quel éditeur de texte. J'ai utilisé nano pour faire l'édition proprement dite.

par exemple

nano dropbear.plist

Lorsque vous modifiez le fichier, vous devez supprimer le "localhost :" de la dernière entrée de la chaîne. Cela permettra à l'écouteur de fonctionner sur toutes les interfaces au lieu de seulement l'interface de bouclage (qui est seulement disponible via USB). En conséquence, votre fichier devient :

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

Une fois que vous aurez fait cela, vous voudrez remettre le fichier au format binaire :

plutil -binary dropbear.plist

À ce stade, je vous suggère de redémarrer l'appareil et de valider que le fichier Yalu dropbear.plist est correctement copié lorsque vous réJailbreak :

par exemple

reboot

Après un redémarrage, vous devriez pouvoir utiliser le SSH en utilisant l'adresse IP de votre téléphone et le port standard 22.

par exemple

  • Hôte : (IP depuis Paramètres -> WiFi -> (NOM DU WIFI)
  • Port : 22

0 votes

Merci de détailler toutes vos étapes ! C'est beaucoup plus sûr pour l'avenir. J'ai essayé > find . | grep dropbear.plist pour trouver la configuration de dropbear sur le LiberIOS Jailbreak mais je n'ai aucune idée de l'endroit où ils ont mis la configuration.

1 votes

Essayez de naviguer vers : /Bibliothèque/LaunchDaemons/ et voyez si vous pouvez trouver le nom qu'ils ont utilisé à cet endroit. Il est fort probable qu'ils aient utilisé le même nom partout. Ce dossier est l'endroit où se trouvent tous les scripts de démon, donc s'ils ont un démon existant, il devra être référencé là.

0 votes

J'ai oublié de faire un cd / avant de lancer find . | grep dropbear.plist. Duh.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X