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?
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:
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.
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.
Md Mahbubur Rahman