19 votos

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

Necesito una solución que funcione sin hacer jailbreak, pero se aceptan respuestas que incluyan eso para ayudar a otros, aunque 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 lo mismo 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 sería aún más útil si pudieras proporcionar la lista de versiones de iOS compatibles?

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

10voto

MasterKye Puntos 46

ISSH admitía 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 puerto 80. Al abrir localhost:4444 en Safari, se carga el sitio web a través del túnel. iSSH también tiene un buen soporte para configuraciones guardadas y autenticación con clave pública.

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

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

1 votos

¡Gracias por la detallada respuesta! Tal vez se necesite una fuerte competencia de otros sistemas operativos para que Apple elimine este tipo de restricciones absurdas en el futuro...

1 votos

Dudo que veas que esta restricción desaparezca pronto. La razón principal de su existencia es la duración de la batería. Tareas de fondo mínimas, significa que los usuarios pueden ir sobre sus negocios sin preocuparse de que otras aplicaciones estén consumiendo su batería. En un dispositivo que efectivamente tiene sólo un programa corriendo a la vez, realmente tiene mucho sentido. La trampa es que está optimizando el comportamiento para los usuarios, no facilitando la vida de los desarrolladores.

0 votos

No se puede encontrar iSSH en la App Store...

5voto

Chris McKeown Puntos 931

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

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

Puedes probar SSHTunnel, te permite administrar de forma sencilla y controlar precisamente tus túneles ssh. Puedes crear y compartir un proxy SOCKS5 (también conocido como reenvío de puerto dinámico) o configurar un reenvío de puerto local.

También puedes especificar manualmente el puerto local a enlazar, configurar el tiempo de espera de la conexión, ver registros y estadísticas, etc.

Aplicación de reenvío de puertos para iOS

4voto

borilla Puntos 330

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

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

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

0 votos

¡Bienvenido a Ask Different! Por favor, lee el centro de ayuda sobre auto-promoción e incluye un descargo de responsabilidad si eres el autor del producto en tu respuesta.

3voto

Ged Byrne Puntos 481

Esto no es posible según las reglas actuales de la App Store de iOS (y es poco probable que esto cambie en un futuro previsible). Las aplicaciones tienen limitaciones en lo que pueden hacer en segundo plano, y mantener el tipo de conexión persistente que requiere un túnel SSH no sería permitido.

Algunas aplicaciones (como los clientes de VNC) tienen la capacidad de túnel SSH incorporada para evitar esto, pero si las aplicaciones que estás usando no lo incluyen, la única opción (además de hacer jailbreak) es utilizar la capacidad de VPN incorporada en iOS. No soporta SSH, pero sí soporta L2TP/IPSec, PPTP, y algunas otras variantes.

1 votos

Olvidé mencionar, no estoy buscando vender mi aplicación al público (en la App Store) - esta es una aplicación interna para uso personal. Si resulta que realmente no es posible en iOS, probablemente cambiaré a Android (estoy bastante seguro de que es posible allí, pero tendré que confirmarlo) - tiendo a ser agnóstico en cuanto a plataformas...

1 votos

Bueno, aunque tu aplicación pueda no estar 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 hagas jailbreak, no podrás hacer esto usando una aplicación de terceros. Por supuesto, podrías utilizar una biblioteca SSH en tu aplicación para incluir funcionalidad SSH directamente, pero cómo hacerlo es una pregunta de programación, más apropiada para StackOverflow.

0 votos

+1 para esa alternativa (gracias, la consideraré antes de pasarme 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 pista del VPN: configurar un servidor VPN en Linux puede ser menos trabajo que tratar de obtener un túnel ssh en ios.

1voto

Sharon Puntos 6

Tengo funcionando un cliente de Jabber (más o menos) con la aplicación vSSH en un servidor Ubuntu. Una vez que la sesión SSH está abierta, inicio el comando top o glances para mantener activa la sesión, pero parece entrar en estado inactivo después de 3 minutos. Después de eso, necesito alternar entre la aplicación vSSH y el cliente de Jabber, y funcionará por otros 3 minutos. No es la mejor solución para chatear, pero funciona en caso de apuro.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X