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

Ich brauche eine Lösung, die ohne Jailbreak funktioniert, aber Antworten, die anderen helfen können, sind willkommen, werden aber möglicherweise nicht als Antwort ausgewählt.

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 machen (eine Art Tunnel im Hintergrund ausführen, während ich eine Client-Anwendung durch diesen Tunnel führe).

Welche Tools oder Optionen vorhanden sind, und die Auflistung unterstützter iOS-Versionen wäre noch hilfreicher, wenn Sie diese Detailgenauigkeit angeben können.

Wie kann ich einen SSH-Tunneling-Dienst unter iOS einrichten?

Antworten (5)

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

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

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

ty für die ausführliche Antwort! Vielleicht braucht es eine starke Konkurrenz durch andere Betriebssysteme, um Apple dazu zu bringen, diese Art von dummen Beschränkungen in Zukunft aufzuheben ...
Ich bezweifle, dass Sie diese Einschränkung in absehbarer Zeit aufheben werden. Der Hauptgrund für seine Existenz ist die Akkulaufzeit. Minimale Hintergrundaufgaben bedeuten, dass Benutzer sicher ihren Geschäften nachgehen können, ohne sich Gedanken darüber machen zu müssen, dass andere Apps ihre Batterie entladen. Auf einem Gerät, auf dem effektiv nur ein Programm gleichzeitig läuft, macht es wirklich ziemlich viel Sinn. Der Haken ist, dass es das Verhalten für die Benutzer optimiert und nicht das Leben der Entwickler erleichtert.
Ich kann iSSH nicht mehr im App Store finden ...
Kann ich irgendwo die iSSH-App finden? Irgendwelche Links?
Es scheint jetzt tot zu sein und die letzte Version, die ich hatte, hatte einige Probleme. Ich würde woanders suchen, kann aber nichts konkretes empfehlen.
Serverauditor scheint für mich gut zu funktionieren und enthält eine Portweiterleitungsfunktion

Wenn Sie nach einer Anwendung suchen, um die lokale Portweiterleitung einzurichten, wie:

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

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

Außerdem können Sie den zu bindenden lokalen Port manuell angeben, das Verbindungs-Timeout konfigurieren, Protokolle und Statistiken anzeigen usw.

Portweiterleitungsanwendung für iOS

Leider wird diese App nicht aktiv gepflegt. Es unterstützt auch nicht mehr die Ausführung im Hintergrund, was ziemlich schlecht ist und es fast unbrauchbar macht, insbesondere mit der sehr schlechten UI/UX des internen Browsers
Bitte lösen Sie diese Probleme :)

vSSH unterstützt Tunneling. Sie können Tunneling im Bereich „Portweiterleitung“ der Verbindungseinstellungen einrichten. Lokale, entfernte und dynamische (SOCKS-Proxy) Weiterleitung werden unterstützt.

Sie können Tunneling auch ohne Öffnen einer SSH-Sitzung verwenden (in diesem Fall sind Shell-Berechtigungen für den SSH-Benutzer nicht erforderlich).

Aufgrund von iOS-Einschränkungen kann die App nur 10 Minuten (iOS 5,6) oder 3 Minuten (iOS 7) im Hintergrund arbeiten. vSSH erinnert Sie über Benachrichtigungen an diese Zeitüberschreitung.

Willkommen bei Ask Different! Bitte lesen Sie die Hilfe zur Eigenwerbung und fügen Sie in Ihrer Antwort einen Haftungsausschluss hinzu, wenn Sie der Autor des Produkts sind.

Dies ist nach den aktuellen Regeln des iOS App Store nicht möglich (und dies wird sich in absehbarer Zeit wahrscheinlich nicht ändern). Apps sind in ihren Möglichkeiten im Hintergrund sehr eingeschränkt, und es wäre nicht zulässig, die Art von dauerhafter Verbindung aufrechtzuerhalten, die ein SSH-Tunnel erfordert.

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

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 wirklich herausstellt, dass dies unter ios nicht möglich ist, werde ich wahrscheinlich zu Android wechseln (ziemlich sicher, dass es dort möglich ist, aber ich muss es bestätigen) - ich bin eher plattformagnostisch ...
Auch wenn Ihre App möglicherweise nicht den App Store-Regeln unterliegt, gilt dies für alle Drittanbieter-Apps aus dem Store. Das bedeutet, dass Sie dies nicht mit einer Drittanbieter-App tun können, es sei denn, Sie jailbreaken . Sie könnten natürlich eine SSH-Bibliothek in Ihrer App verwenden, um die SSH-Funktionalität direkt einzubinden, aber wie das geht, ist eine Programmierfrage, die besser für StackOverflow geeignet ist .
+1 für diese Alternative (ty - ich werde es in Betracht ziehen, bevor ich zu Android wechsele) ... ... Ich fange an zu verstehen, warum einige Entwickler es nicht mögen, in dieser Art von Umgebung zu entwickeln. Danke auch für den VPN-Tipp - das Einrichten eines VPN-Servers unter Linux kann weniger Arbeit sein als der Versuch, einen SSH-Tunnel in ios zu bekommen.

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