Welche Optionen gibt es für SSH-Tunneling-Clients unter iOS?

14

Ich brauche eine Lösung , die funktioniert ohne Jailbreak , aber Antworten , die das kann anderen helfen sind , umfassen begrüßen , aber nur vielleicht nicht so ausgewählt werden , die Antwort.

Unter Linux und OSX verwende ich ssh in der Befehlszeile, um ssh-Tunnel zu öffnen, damit ich Client-Server-Anwendungen sicher ausführen kann.

Ich muss das Äquivalent auf ios ausführen (eine Art Tunnel im Hintergrund ausführen, während ich eine Clientanwendung über diesen Tunnel ausführe).

Welche Tools oder Optionen vorhanden sind und unterstützte iOS-Versionen auflisten, wäre noch hilfreicher, wenn Sie diesen Detaillierungsgrad bereitstellen können.

Wie kann ich einen SSH-Tunneldienst unter iOS einrichten?

kfmfe04
quelle

Antworten:

10

iSSH unterstützte das Öffnen von Tunneln. Zum Beispiel kann ich einen Tunnel am lokalen Port 4444 einrichten, der auf eine IP-Adresse und Port 80 verweist. Wenn Sie localhost: 4444 in Safari öffnen, wird diese Website über den Tunnel geladen. iSSH bietet auch eine gute Unterstützung für gespeicherte Konfigurationen und die Authentifizierung mit öffentlichem Schlüssel.

Nach den App Store-Regeln darf iSSH die Verbindung nur bis zu 10 Minuten im Hintergrund offen halten. Nach etwa 9 Minuten erhalte ich eine Benachrichtigung und der Tunnel wird geschlossen, wenn ich nicht zurückschalte iSSH schnell genug.

Ab 2015 ist iSSH nicht mehr verfügbar. Die gleiche Funktionalität ist wahrscheinlich auch in anderen iOS-SSH-Clients vorhanden, aber ich habe selbst keine ausprobiert.

gabedwrds
quelle
1
ty für die ausführliche Antwort! Vielleicht braucht es starke Konkurrenz von anderen Betriebssystemen, um Apple dazu zu bringen, diese Art von dummen Beschränkungen in Zukunft
aufzuheben
1
Ich bezweifle, dass Sie diese Einschränkung bald aufheben werden. Der Hauptgrund für seine Existenz ist die Akkulaufzeit. Minimale Hintergrundaufgaben bedeuten, dass Benutzer sicher ihr Geschäft betreiben können, ohne sich Sorgen machen zu müssen, dass andere Apps ihren Akku entladen. Auf einem Gerät, auf dem effektiv nur ein Programm gleichzeitig ausgeführt wird, ist dies wirklich sinnvoll. Der Haken ist, dass es das Verhalten für die Benutzer optimiert und das Leben der Entwickler nicht erleichtert.
Robmathers
Ich kann iSSH nicht mehr im App Store finden ...
wdg
Gibt es irgendwo eine iSSH App? Irgendwelche Links?
Douglas.Sesar
Es scheint jetzt tot zu sein und die letzte Version, die ich hatte, hatte einige Probleme. Ich würde woanders suchen, kann aber nichts Bestimmtes empfehlen.
gabedwrds
5

Wenn Sie nach einer Anwendung suchen, mit der Sie die lokale Portweiterleitung einrichten können, gehen Sie wie folgt vor:

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

Sie können SSHTunnel überprüfen , um Ihre SSH-Tunnel einfach zu verwalten und präzise zu steuern. Kann einen SOCKS5-Proxy (auch als dynamische Portweiterleitung bezeichnet) erstellen und freigeben oder eine lokale Portweiterleitung einrichten.

Sie können auch den lokalen Port zum Binden manuell angeben, das Verbindungszeitlimit konfigurieren, Protokolle und Statistiken anzeigen usw.

Portweiterleitungsanwendung für iOS

Yury Bushev
quelle
4

vSSH unterstützt das Tunneln. Sie können das Tunneln im Abschnitt "Portweiterleitung" der Verbindungseinstellungen einrichten. Lokale, Remote- und dynamische Weiterleitung (SOCKS-Proxy) werden unterstützt.

Sie können das Tunneln auch ohne Öffnen der SSH-Sitzung verwenden (in diesem Fall sind für SSH-Benutzer keine Shell-Berechtigungen erforderlich).

Aufgrund der iOS-Einschränkung kann die App nur 10 Minuten (iOS 5,6) oder 3 Minuten (iOS 7) im Hintergrund arbeiten. vSSH erinnert Sie durch Benachrichtigungen an dieses Zeitlimit.

Wer bin ich
quelle
Willkommen bei Ask Different! Bitte lesen Sie die Hilfe zur Eigenwerbung und fügen Sie Ihrer Antwort einen Haftungsausschluss bei, wenn Sie der Autor des Produkts sind.
grg
3

Dies ist nach den aktuellen iOS App Store-Regeln nicht möglich (und dies wird sich in absehbarer Zeit wahrscheinlich nicht ändern). Apps können nur sehr eingeschränkt im Hintergrund ausgeführt werden, und es ist nicht zulässig, die für einen SSH-Tunnel erforderliche dauerhafte Verbindung aufrechtzuerhalten.

Einige Apps (z. B. VNC-Clients) verfügen über eine integrierte SSH-Tunnelfunktion, um dies zu umgehen. Wenn die von Ihnen verwendeten Apps diese Funktion jedoch nicht enthalten, besteht die einzige Option (kurz vor dem Jailbreak) darin, das integrierte iOS zu verwenden VPN-Fähigkeit. Es unterstützt kein SSH, aber L2TP / IPSec, PPTP und einige andere Varianten .

Robmathers
quelle
1
Ich habe vergessen zu erwähnen, dass ich meine App nicht für die Öffentlichkeit (im App Store) verkaufen möchte - dies ist eine interne App für den persönlichen Gebrauch. Wenn sich herausstellt, dass dies unter ios nicht möglich ist, werde ich häufig auf Android umsteigen (ziemlich sicher, dass es dort möglich ist, aber ich muss es bestätigen) - Ich bin in der Regel plattformunabhängig ...
kfmfe04
1
Auch wenn Ihre App möglicherweise nicht den App Store-Regeln unterliegt, wird jede App eines Drittanbieters aus dem Store verwendet. Das heißt, wenn Sie keinen Jailbreak durchführen, können Sie dies nicht mit einer Drittanbieter-App tun . Sie können natürlich eine SSH-Bibliothek in Ihrer App verwenden, um die SSH-Funktionalität direkt einzuschließen . Wie dies zu tun ist, ist eine Programmierfrage, die für StackOverflow besser geeignet ist .
Robmathers
+1 für diese Alternative (ty - ich werde es in Betracht ziehen, bevor ich zu Android wechsle) ... ... Ich beginne zu verstehen, warum einige Entwickler nicht gerne in einer solchen Umgebung entwickeln. Vielen Dank auch für den VPN-Hinweis: Das Einrichten eines VPN-Servers unter Linux ist möglicherweise weniger aufwendig als der Versuch, einen SSH-Tunnel in iOS zu erstellen.
kfmfe04
1

Ich habe es für einen Jabber-Client (irgendwie) mit vssh-App auf einem Ubuntu-Server arbeiten. Sobald die SSH-Sitzung geöffnet ist, starte ich oben oder schaue, um die Sitzung aktiv zu halten, aber sie scheint nach 3 Minuten inaktiv zu sein. Danach muss ich zur vssh-App wechseln und dann zurück zum jabber-Client, und es wird weitere 3 Minuten funktionieren. Nicht die beste Lösung für das Chatten, aber es wird zur Not funktionieren.

Lee
quelle