Quali opzioni esistono per i client di tunneling SSH su iOS?


14

Ho bisogno di una soluzione che funziona senza jailbreaking , ma le risposte che includono che possono aiutare gli altri sono i benvenuti, ma semplicemente non potrei essere selezionata come la risposta.

Su Linux e su OSX, utilizzo ssh dalla riga di comando per aprire tunnel ssh in modo da poter eseguire applicazioni client-server in modo sicuro.

Ho bisogno di fare l'equivalente su iOS (eseguire una sorta di tunnel in background, mentre eseguo un'applicazione client attraverso quel tunnel).

Quali strumenti o opzioni esistono e elencare le versioni di iOS supportate sarebbe ancora più utile se puoi fornire quel livello di dettaglio.

Come posso configurare un servizio di tunneling ssh su iOS?

Risposte:


10

tunnel di apertura supportati da iSSH. Ad esempio, posso impostare un tunnel sulla porta locale 4444 che punta a un indirizzo IP e alla porta 80. Aprire localhost: 4444 in Safari, quindi caricare quel sito Web attraverso il tunnel. iSSH ha anche un buon supporto per le configurazioni salvate e l'autenticazione con chiave pubblica.

In base alle regole dell'App Store, iSSH è autorizzato a mantenere la connessione aperta per un massimo di 10 minuti in background, quindi dopo circa 9 minuti riceverò una notifica e il tunnel verrà chiuso se non torno a iSSH abbastanza velocemente.

A partire dal 2015, iSSH non è più disponibile. La stessa funzionalità esiste probabilmente in altri client SSH iOS, ma non ho provato nessuno.


1
ty per la risposta dettagliata! Forse ci vorrà una forte concorrenza da parte di altri sistemi operativi per spingere Apple a sollevare questi tipi di restrizioni sciocche in futuro ...
kfmfe04

1
Dubito che vedrai che questa restrizione sparirà presto. Il motivo principale della sua esistenza è la durata della batteria. Attività in background minime indicano che gli utenti possono svolgere la propria attività in sicurezza senza preoccuparsi di altre app che consumano la batteria. Su un dispositivo che ha effettivamente un solo programma in esecuzione alla volta, ha davvero un buon senso. Il problema è che sta ottimizzando il comportamento degli utenti , non facilitando la vita degli sviluppatori.
robmathers il

Non riesco più a trovare iSSH su App Store ...
wdg,

c'è un posto dove posso trovare l'app iSSH? Qualche link?
Douglas.Sesar,

Sembra essere morto ora e l'ultima versione che avevo avuto alcuni problemi. Vorrei cercare altrove ma non posso raccomandare nulla di specifico.
gabedwrds,

5

Se stai cercando un'applicazione per configurare il port forwarding locale come:

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

Puoi controllare SSHTunnel , ti permette di gestire e controllare con precisione i tuoi tunnel ssh. Può creare e condividere proxy SOCKS5 (aka Dynamic Port Forwarding) o configurare un Port Forwarding locale.

Inoltre, è possibile specificare manualmente la porta locale da associare, configurare il timeout della connessione, consultare registri e statistiche ecc.

Applicazione port forwarding per iOS


4

vSSH supporta il tunneling. È possibile configurare il tunneling nella sezione "Port forwarding" delle impostazioni di connessione. Sono supportati l'inoltro locale, remoto e dinamico (proxy SOCKS).

Puoi usare il tunneling anche senza aprire la sessione SSH (in questo caso le autorizzazioni shell non sono necessarie per l'utente ssh).

A causa delle limitazioni di iOS l'app può funzionare in background solo per 10 minuti (iOS 5,6) o 3 minuti (iOS 7). vSSH ti ricorda questo timeout tramite Notifiche.


Benvenuti a chiedere diverso! Si prega di leggere il centro assistenza per quanto riguarda l' autopromozione e includere una dichiarazione di non responsabilità se si è l'autore del prodotto nella risposta.
grg

3

Questo non è possibile secondo le attuali regole dell'App Store per iOS (e è improbabile che questo cambi nel prossimo futuro). Le app sono molto limitate in ciò che possono fare in background e non sarebbe consentito mantenere il tipo di connessione persistente richiesta da un tunnel SSH.

Alcune app (come i client VNC) hanno la funzionalità di tunneling SSH integrata per aggirare questo problema, ma se le app che stai utilizzando non la includono, l'unica opzione (a parte il jailbreak) è utilizzare l'iOS integrato Funzionalità VPN. Non supporta SSH, ma supporta L2TP / IPSec, PPTP e alcune altre varianti .


1
Ho dimenticato di menzionare, non sto cercando di vendere la mia app per il pubblico (sull'App Store) - questa è un'app interna per uso personale. Se si scopre che questo non è possibile sotto
iOS

1
Bene, anche se la tua app potrebbe non essere soggetta alle regole dell'App Store, qualsiasi app di terze parti dello store lo sarà. Ciò significa che se non esegui il jailbreak, non puoi farlo utilizzando un'app di terze parti . Ovviamente potresti usare una libreria SSH nella tua app per includere direttamente la funzionalità SSH, ma come farlo è una domanda di programmazione, più appropriata per StackOverflow .
robmathers,

+1 per quell'alternativa (ty - lo prenderò in considerazione prima di passare ad Android) ... ... Sto iniziando a capire perché ad alcuni sviluppatori non piace sviluppare in questo tipo di ambiente. Inoltre, grazie per il suggerimento VPN: la configurazione di un server VPN su Linux potrebbe richiedere meno lavoro rispetto al tentativo di ottenere un tunnel SSH in iOS.
kfmfe04,

1

Lo faccio funzionare per un client jabber (una specie di) con l'app vssh su un server Ubuntu. Una volta aperta la sessione SSH, lancio top o sguardi per mantenere attiva la sessione, ma sembrerà inattiva dopo 3 minuti. Dopodiché devo passare all'app vssh, quindi di nuovo al client jabber e funzionerà per altri 3 minuti. Non è la soluzione migliore per chattare ma funzionerà in un attimo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.