¿Cómo SSH en Android desde una red diferente? [cerrado]

Estoy ejecutando SSHDroid en mi dispositivo Android no rooteado. Cuando mi cliente SSH en ubuntu o Windows está en la misma red wifi que Android, puedo conectarme a través de SSH.

Pero lo que quiero hacer es conectarme al dispositivo a través de SSH desde un cliente como masilla, etc. desde una computadora que no está en la misma red.

p.ej. Si estoy en la misma red wifi, puedo conectarme a través de SSH usando el comando

$ ssh root@192.168.1.3 -p 2222

pero cuando me conecto a través de ssh usando una IP externa, dice conexión rechazada.

$ ssh root@112.79.41.234 -p 2222

También intenté usar PortForward para reenviar el puerto externo al interno. Pero no parece funcionar. ¿Alguien puede decirme cómo hacerlo sin rootear el dispositivo?

Los siguientes recursos pueden ayudarlo: askubuntu.com/questions/30080/…

Respuestas (4)

Respuesta rápida:

No necesita 'rootear' su teléfono Android, tanto él como SSH funcionan correctamente.


Cómo resolver el problema:

Debe comprender mejor el 'reenvío de puertos' y las 'direcciones IP públicas'.

El 'reenvío de puertos' debe ocurrir donde la red pública ('Internet') se encuentra con la red privada (red WiFi con dispositivo Android). Suele ser un 'enrutador', pero podría ser un 'cortafuegos' más grande.

Debe averiguar y agregar este detalle, si desea más ayuda.

Si bien el reenvío de puertos funcionará, no lo sugiero.

Está ligado a restricciones muy firmes:

  • Abandona DHCP y usa una IP estática en cada red que quieras trabajar
  • Configurar reglas de reenvío de puertos en cada enrutador
  • Configurar DNS dinámico para cada red
  • Conoce en qué red está tu Android

Es mejor que su teléfono se conecte a la misma red privada virtual (VPN) y acceda a través de esto. O use GTalkSMS para una configuración más sencilla.

Se puede resolver el conflicto de direcciones IP, primero verifique que el conflicto de direcciones haya sido o no el problema.

Para esto, por favor, eche un vistazo

Con respecto a su red, verifique /var/log/messages para enlaces ethernet arriba/abajo (o wlan en caso de conexión inalámbrica). Si es así prueba a cambiar los cables.

No es un simple problema de conectividad. El enlace ethernet no cambia de estado; se puede acceder al servidor a través de ping; ssh se conecta sin problemas de vez en cuando, luego, aparentemente al azar, no se conecta o la sesión ssh existente se cae.

  • Cambie el adaptador de DHCP a estático.
  • Pruebe ssh -v ip y verifique la salida
La computadora que tiene el cliente ssh está detrás del enrutador en mi lugar de trabajo y el dispositivo Android está usando Internet 3G. Aquí no hay ethernet..

Puede configurar un actualizador de DNS dinámico. Esto le permitirá acceder a su dispositivo Android utilizando la misma dirección IP de Internet sin importar dónde se encuentre. Necesitará una cuenta con un proveedor de DNS dinámico [1] y un servidor SSH de Android que incluya o admita una herramienta de actualización de DNS [2].

Luego, el proveedor de DNS dinámico le asignará una dirección IP fija, que puede usar donde quiera que vaya. Las limitaciones de la red (técnicas o impuestas) aún pueden impedirle acceder a su dispositivo en algunas circunstancias.

[1] Por ejemplo, DNS-o-matic . Hay bastantes proveedores gratuitos.

[2] El servidor SSH de Ice Cold Apps ofrece explícitamente soporte para DNS dinámico. No se menciona nada en la página de SSHDroid , pero puede consultarlos.