8 votes

Comment se connecter en SSH à Android depuis un autre réseau ?

J'exécute SSHDroid sur mon appareil Android non enraciné. Lorsque mon client SSH sur ubuntu ou Windows est sur le même réseau wifi que mon Android, je suis capable de m'y connecter via SSH.

Mais ce que je veux faire, c'est me connecter à l'appareil via SSH à partir d'un client comme Putty, etc. depuis un ordinateur qui n'est pas dans le même réseau.

eg. Si je suis sur le même réseau wifi, je peux me connecter via SSH en utilisant la commande

$ ssh Root@192.168.1.3 -p 2222

mais lorsque je me connecte via ssh en utilisant l'IP externe, il est indiqué que la connexion est refusée.

$ ssh Root@112.79.41.234 -p 2222

J'ai également essayé d'utiliser PortForward pour transférer le port externe vers le port interne. Mais cela ne semble pas fonctionner. Quelqu'un peut-il me dire comment le faire sans mettre l'appareil en root ?

2voto

david6 Points 454

Réponse rapide :

Vous n'avez pas besoin de "Rooter" votre téléphone Android - le téléphone et le SSH fonctionnent correctement.


Comment résoudre le problème :

Vous devez mieux comprendre la "redirection de port" et les "adresses IP publiques".

Le "transfert de port" doit avoir lieu à l'endroit où le réseau public ("Internet") rencontre le réseau privé (réseau WiFi avec l'appareil Android). Il s'agit généralement d'un "routeur", mais il peut s'agir d'un "pare-feu" plus important.

Vous devez trouver et ajouter ce détail, si vous voulez une aide supplémentaire

0voto

ce4 Points 14264

Bien que le transfert de port puisse fonctionner, je ne le suggère pas.

Elle est liée à des contraintes très fermes :

  • Abandonnez le DHCP et utilisez une IP statique dans tous les réseaux que vous souhaitez utiliser.
  • Configurez des règles de transfert de port sur chaque routeur.
  • Configurer un DNS dynamique pour chaque réseau
  • Savoir dans quel réseau se trouve votre Android

Il vaut mieux que votre téléphone se connecte au même réseau privé virtuel (VPN) et y accède par ce biais. Ou utilisez GTalkSMS pour une installation plus facile.

0voto

Le conflit d'adresse IP peut être résolu, en vérifiant d'abord que le conflit d'adresse était ou n'était pas le problème.

Pour cela, veuillez consulter

En ce qui concerne votre réseau, vérifiez /var/log/messages pour les montées et descentes de liens Ethernet (ou wlan en cas de sans fil). Si c'est le cas, essayez de changer les câbles.

Ce n'est pas un simple problème de connectivité. La liaison Ethernet ne change pas d'état ; le serveur est joignable par ping ; ssh se connecte parfois sans problème, puis, de manière aléatoire, ne se connecte pas ou la session ssh existante est interrompue.

  • Changez l'adaptateur de DHCP à statique.
  • Essayez ssh -v ip et vérifiez le résultat.

0voto

GalleySlave Points 1488

Vous pourriez mettre en place une mise à jour dynamique du DNS. Cela vous permettra d'accéder à votre appareil Android en utilisant la même adresse IP Internet, où que vous soyez. Vous aurez besoin d'un compte auprès d'un fournisseur de DNS dynamique [1] et d'un serveur SSH Android qui inclut/prend en charge un outil de mise à jour DNS [2].

Le fournisseur de DNS dynamique vous attribue alors une adresse IP fixe, que vous pouvez utiliser partout où vous vous trouvez. Les limitations du réseau (techniques ou imposées) peuvent toujours vous empêcher d'accéder à votre appareil dans certaines circonstances.

[1] Par exemple, DNS-o-matic . Il existe un certain nombre de fournisseurs gratuits.

[2] Serveur SSH par Ice Cold Apps offre explicitement un support pour le DNS dynamique. Rien n'est mentionné sur le SSHDroid mais vous pouvez les interroger.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X