¿Qué opciones existen para los clientes de túnel SSH en iOS?

14

Necesito una solución que funcione sin jailbreak , pero las respuestas que incluyen que pueden ayudar a otros son bienvenidas, pero es posible que no se seleccionen como la respuesta.

En Linux y en OSX, uso ssh en la línea de comandos para abrir túneles ssh para poder ejecutar aplicaciones cliente-servidor de forma segura.

Necesito hacer el equivalente en ios (ejecutar algún tipo de túnel en segundo plano, mientras ejecuto una aplicación cliente a través de ese túnel).

Qué herramientas u opciones existen y enumerar las versiones compatibles de iOS sería aún más útil si puede proporcionar ese nivel de detalle.

¿Cómo puedo configurar un servicio de túnel ssh en iOS?

kfmfe04
fuente

Respuestas:

10

iSSH soportaba la apertura de túneles. Por ejemplo, puedo configurar un túnel en el puerto local 4444 que apunte a una dirección IP y al puerto 80. Abrir localhost: 4444 en Safari y luego cargar ese sitio web a través del túnel. iSSH también tiene un buen soporte para configuraciones guardadas y autenticación de clave pública.

Según las reglas de la App Store, iSSH solo puede mantener la conexión abierta hasta 10 minutos en segundo plano, por lo que después de 9 minutos más o menos recibiré una notificación y el túnel se cerrará si no vuelvo a iSSH lo suficientemente rápido.

A partir de 2015, iSSH ya no está disponible. Es probable que exista la misma funcionalidad en otros clientes iOS SSH, pero yo no he probado ninguno.

gabedwrds
fuente
1
Ty para la respuesta detallada! Tal vez se necesitará una fuerte competencia de otros sistemas operativos para impulsar a Apple a levantar este tipo de restricciones tontas en el futuro ...
kfmfe04
1
Dudo que vea que esta restricción desaparecerá pronto. La razón más importante de su existencia es la duración de la batería. Las tareas mínimas en segundo plano significan que los usuarios pueden realizar sus negocios de manera segura sin preocuparse de que otras aplicaciones agoten su batería. En un dispositivo que efectivamente solo tiene un programa ejecutándose a la vez, tiene mucho sentido realmente. El problema es que está optimizando el comportamiento de los usuarios , no facilitando la vida de los desarrolladores.
Robmathers
Ya no puedo encontrar iSSH en App Store ...
wdg
¿Hay algún lugar donde pueda encontrar la aplicación iSSH? Cualquier enlace?
Douglas.Sesar
Parece estar muerto ahora y la última versión que tuve tuvo algunos problemas. Buscaría en otro lado pero no puedo recomendar nada específico.
gabedwrds
5

Si está buscando una aplicación para configurar el reenvío de puertos locales como:

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

Puede verificar SSHTunnel , le permite administrar y controlar fácilmente sus túneles ssh. Puede crear y compartir el proxy SOCKS5 (también conocido como Dynamic Port Forwarding) o configurar un Local Port Forwarding.

Además, puede especificar manualmente el puerto local para vincular, configurar el tiempo de espera de conexión, ver registros y estadísticas, etc.

Aplicación de reenvío de puertos para iOS

Yury Bushev
fuente
4

vSSH admite túneles. Puede configurar el túnel en la sección "Reenvío de puertos" de la configuración de conexión. Se admite el reenvío local, remoto y dinámico (proxy SOCKS).

Puede usar el túnel incluso sin abrir la sesión SSH (en este caso no son necesarios permisos de shell para el usuario ssh).

Debido a la limitación de iOS, la aplicación puede funcionar en segundo plano solo durante 10 minutos (iOS 5,6) o 3 minutos (iOS 7). vSSH le recuerda sobre este tiempo de espera a través de Notificaciones.

quién soy
fuente
Bienvenido a Ask Different! Lea el centro de ayuda sobre autopromoción e incluya un descargo de responsabilidad si usted es el autor del producto en su respuesta.
grg
3

Esto no es posible bajo las reglas actuales de iOS App Store (y es poco probable que esto cambie en el futuro previsible). Las aplicaciones son muy limitadas en lo que pueden hacer en segundo plano, y no se permitiría mantener el tipo de conexión persistente que requiere un túnel SSH.

Algunas aplicaciones (como los clientes VNC) tienen capacidad de túnel SSH incorporada para solucionar esto, pero si las aplicaciones que está utilizando no lo incluyen, la única opción (salvo el jailbreak) es usar el iOS incorporado Capacidad de VPN. No es compatible con SSH, pero sí es compatible con L2TP / IPSec, PPTP y algunas otras variantes .

ladrones
fuente
1
Olvidé mencionar que no estoy buscando vender mi aplicación al público (en la App Store), esta es una aplicación interna para uso personal. Si realmente resulta que esto no es posible bajo iOS, me cambiaré a Android (estoy bastante seguro de que es posible allí, pero tendré que confirmar)
Tiendo
1
Bueno, aunque su aplicación no esté sujeta a las reglas de la App Store, cualquier aplicación de terceros de la tienda sí lo estará. Lo que significa que, a menos que haga jailbreak, no puede hacerlo utilizando una aplicación de terceros . Por supuesto, podría usar una biblioteca SSH en su aplicación para incluir la funcionalidad SSH directamente, pero cómo hacerlo es una pregunta de programación, más apropiada para StackOverflow .
Robmathers
+1 para esa alternativa (ty - lo consideraré antes de pasar a Android) ... ... Estoy empezando a ver por qué a algunos desarrolladores no les gusta desarrollar en este tipo de entorno. También gracias por la sugerencia de VPN: configurar un servidor VPN en Linux puede ser menos trabajo que tratar de obtener un túnel ssh en ios.
kfmfe04
1

Lo tengo funcionando para un cliente jabber (más o menos) con la aplicación vssh en un servidor Ubuntu. Una vez que la sesión SSH está abierta, ejecuto la parte superior o las miradas para mantener la sesión activa, pero parecerá inactiva después de 3 minutos. Después de eso, necesito cambiar a la aplicación vssh y luego volver al cliente jabber y funcionará durante otros 3 minutos. No es la mejor solución para chatear, pero funcionará en un apuro.

Sotavento
fuente