Quelles options existent pour les clients de tunneling SSH sur iOS?

14

Je besoin d' une solution qui fonctionnera sans jailbreaking , mais les réponses qui comprennent que d' autres aide sont les bienvenus mais peut tout simplement peut - être pas sélectionnée comme la réponse.

Sous Linux et OSX, j'utilise ssh sur la ligne de commande pour ouvrir les tunnels ssh afin de pouvoir exécuter des applications client-serveur en toute sécurité.

J'ai besoin de faire l'équivalent sur ios (exécuter une sorte de tunnel en arrière-plan, pendant que je lance une application cliente via ce tunnel).

Quels outils ou options existent et répertorier les versions iOS prises en charge serait encore plus utile si vous pouviez fournir ce niveau de détail.

Comment puis-je configurer un service de tunneling ssh sur iOS?

kfmfe04
la source

Réponses:

10

iSSH a pris en charge l'ouverture de tunnels. Par exemple, je peux définir un tunnel sur le port local 4444 qui pointe vers une adresse IP et le port 80. L'ouverture de localhost: 4444 dans Safari charge ensuite ce site Web via le tunnel. iSSH prend également en charge les configurations enregistrées et l'authentification par clé publique.

Selon les règles de l'App Store, iSSH n'est autorisé à garder la connexion ouverte que pendant 10 minutes en arrière-plan, donc au bout de 9 minutes environ, j'obtiendrai une notification et le tunnel sera fermé si je ne reviens pas à iSSH assez rapidement.

Depuis 2015, iSSH n'est plus disponible. La même fonctionnalité existe probablement dans d'autres clients iOS SSH, mais je n'en ai pas essayé moi-même.

gabedwrds
la source
1
ty pour la réponse détaillée! Il faudra peut-être une forte concurrence des autres systèmes d'exploitation pour conduire Apple à lever ces types de restrictions stupides à l'avenir ...
kfmfe04
1
Je doute que vous verrez cette restriction disparaître de sitôt. La principale raison de son existence est la durée de vie de la batterie. Les tâches en arrière-plan minimales permettent aux utilisateurs de vaquer à leurs occupations en toute sécurité sans se soucier des autres applications qui déchargent leur batterie. Sur un appareil qui n'a effectivement qu'un seul programme en cours d'exécution à la fois, cela a vraiment un bon sens. Le hic, c'est qu'il optimise le comportement des utilisateurs , ne facilite pas la vie du développeur.
robmathers
Je ne trouve plus iSSH sur l'App Store ...
wdg
Y a-t-il un endroit où je peux trouver l'application iSSH? Des liens?
Douglas.Sesar
Il semble être mort maintenant et la dernière version que j'avais eu quelques problèmes. Je chercherais ailleurs mais je ne peux rien recommander de spécifique.
gabedwrds
5

Si vous recherchez une application pour configurer la redirection de port local comme:

ssh -f -L 3000:talk.google.com:5222 home -N

Vous pouvez vérifier SSHTunnel , il vous permet de gérer facilement et de contrôler précisément vos tunnels ssh. Peut créer et partager un proxy SOCKS5 (alias Dynamic Port Forwarding) ou configurer une redirection de port locale.

En outre, vous pouvez spécifier manuellement le port local à lier, configurer le délai d'expiration de la connexion, voir les journaux et les statistiques, etc.

Application de redirection de port pour iOS

Yury Bushev
la source
4

vSSH prend en charge la tunnellisation. Vous pouvez configurer le tunneling dans la section "Transfert de port" des paramètres de connexion. Le transfert local, distant et dynamique (proxy SOCKS) est pris en charge.

Vous pouvez utiliser le tunneling même sans ouvrir de session SSH (les autorisations shell ne sont pas nécessaires pour l'utilisateur ssh dans ce cas).

En raison de la limitation d'iOS, l'application ne peut fonctionner en arrière-plan que pendant 10 minutes (iOS 5,6) ou 3 minutes (iOS 7). vSSH vous rappelle ce délai par le biais de notifications.

qui suis je
la source
Bienvenue sur Ask Different! Veuillez lire le centre d'aide concernant l'autopromotion et inclure une clause de non-responsabilité si vous êtes l'auteur du produit dans votre réponse.
grg
3

Cela n'est pas possible selon les règles actuelles de l'App Store iOS (et il est peu probable que cela change dans un avenir prévisible). Les applications sont très limitées dans ce qu'elles peuvent faire en arrière-plan, et conserver le type de connexion persistante requise par un tunnel SSH ne serait pas autorisé.

Certaines applications (telles que les clients VNC) ont une capacité de tunnel SSH intégrée pour contourner cela, mais si les applications que vous utilisez ne l'incluent pas, la seule option (à moins de jailbreak) est d'utiliser l'iOS intégré Capacité VPN. Il ne prend pas en charge SSH, mais il prend en charge L2TP / IPSec, PPTP et certaines autres variantes .

robmathers
la source
1
J'ai oublié de mentionner, je ne cherche pas à vendre mon application au public (sur l'App Store) - il s'agit d'une application interne pour un usage personnel. S'il s'avère vraiment que ce n'est pas possible sous iOS, je passerai sans cesse à Android (je suis sûr que c'est possible là-bas, mais je
devrai le
1
Eh bien, même si votre application n'est pas soumise aux règles de l'App Store, toute application tierce de la boutique le sera. Ce qui signifie qu'à moins que vous ne jailbreakiez, vous ne pouvez pas le faire en utilisant une application tierce . Vous pouvez bien sûr utiliser une bibliothèque SSH dans votre application pour inclure directement la fonctionnalité SSH, mais comment faire est une question de programmation, plus appropriée pour StackOverflow .
robmathers
+1 pour cette alternative (ty - je vais y réfléchir avant de passer à Android) ... ... Je commence à voir pourquoi certains développeurs n'aiment pas développer dans ce type d'environnement. Merci également pour le conseil VPN - configurer un serveur VPN sur Linux peut être moins de travail que d'essayer d'obtenir un tunnel ssh dans ios.
kfmfe04
1

Je le fais travailler pour un client jabber (en quelque sorte) avec l'application vssh sur un serveur Ubuntu. Une fois la session SSH ouverte, je lance top ou jette un coup d'œil pour garder la session active, mais elle semblera en sommeil après 3 minutes. Après cela, je dois basculer vers l'application vssh, puis revenir au client Jabber et cela fonctionnera pendant 3 minutes supplémentaires. Ce n'est pas la meilleure solution pour discuter, mais cela fonctionnera à la rigueur.

Lee
la source