Comment puis-je SSH dans mon ordinateur à la maison à partir d'Internet?


1

Existe-t-il un logiciel qui m'aidera à connecter SSH / à mon ordinateur à la maison à partir d'Internet public? (Dis, un café).

Je comprends que des questions similaires à celles-ci ont été posées, mais aucune ne semble répondre à la question. Permettez-moi d'ajouter quelques détails pour éviter les nombreuses réponses habituelles à propos de DynDns et de la redirection de port.

  • J'ai accès à un serveur SSH accessible au public. À partir de là, le transfert de port n’est pas une solution stable qui dure plusieurs jours. Le transfert de port a tendance à laisser tomber les connexions, à être lent, etc.

  • Je ne veux pas installer / payer pour DynDns et configurer la traversée NAT sur mon routeur.

Je pense que ce qui suit devrait être possible, je ne sais tout simplement pas s’il existe un logiciel qui accomplit déjà cela:

De la même manière que les programmes poste à poste perforent la traversée NAT, il devrait être possible d’exécuter un programme sur ma machine personnelle qui ouvre l’accès externe aux ports appropriés en effectuant une perforation. En outre, le programme peut diffuser l'adresse IP publique et le port visible extérieurement de l'ordinateur personnel (par exemple sur un serveur public ou par courrier électronique) et mettre à jour périodiquement ces informations.

Un logiciel comme celui-ci existe-t-il? Une partie de cette fonctionnalité est déjà réalisée par divers logiciels torrent.


1
Vous ne savez pas quelle configuration vous essayez d'éviter avec DynDNS. La version gratuite disponible impliquait de s'inscrire avec eux, de télécharger un client de mise à jour, puis de placer une fois le combo d'inscription / mot de passe utilisé dans le client. Vous avez alors l'adresse que vous avez inscrite pour vous connecter à la machine. En ce qui concerne la redirection de port via votre routeur ... il s’agit d’un processus en deux étapes relativement peu pénible. One ... attribuez à cet ordinateur une adresse IP statique dans la table de réservation DHCP, puis transférez le port 22 à cette adresse IP. Ensuite, vous venez de SSH depuis n'importe quel ordinateur à votre adresse: 22. Pas si mal, vraiment.
Bon Gart

De quelle manière le DNS dynamique (gratuit) et le transfert de port simple ne répondent-ils pas à la question?
RedGrittyBrick

DynDNS est gratuit et de nombreux (la plupart?) Routeurs ont également un client DynDNS intégré, vous n'avez donc même pas besoin de l'exécuter vous-même. Vous pouvez essayer d’utiliser un tunnel SSH inverse pour contourner le NAT, mais la redirection de port est probablement plus fiable.
user55325

Réponses:


0

Ya donc je pense que la redirection de port est la méthode de perforation. Si vous le souhaitez, vous pouvez placer votre ordinateur dans une zone démilitarisée et éviter tout désordre.


Je ne mettrais pas un ordinateur en permanence dans une zone démilitarisée à moins que vous ne sachiez VRAIMENT ce que vous faites avec la sécurité du réseau.
danielcg

0

Je ne suggère en aucun cas de placer votre appareil dans une zone démilitarisée, sauf si vous savez vraiment ce que vous faites et pouvez correctement sécuriser l'appareil et le réseau qui l'entoure.

Il existe un logiciel pouvant émuler un réseau local via Internet, appelé LogMeIn Hamachi . En installant et en activant ceci sur l'hôte, vous pouvez y accéder en vous connectant au VLAN n'importe où sur Internet.

Bien que je ne voie pas nécessairement le problème avec la redirection de port.

Une autre option consiste à utiliser la fonctionnalité intégrée de redirection de port de SSH. S'il existe un autre hôte SSH accessible depuis Internet (nous l'appellerons hôte 1) sur le même réseau local que l'hôte auquel vous essayez de vous connecter (hôte 2), vous pouvez émettre une commande qui renverra la connexion depuis votre ordinateur. (sur un port local spécifique) via l'hôte 1, et l'hôte 1 achemine votre trafic vers l'hôte 2 non transféré sur son réseau local.

La commande est la suivante et doit être exécutée sur la machine locale que vous essayez d'utiliser pour vous connecter à l'hôte 2.

ssh -L [local-port-to-open]:[local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1] [user-of-Host-1]@[Host-1-address]

Cela ouvrira un port sur votre machine (votre [local-port-to-open]argument) que SSH gère, envoyant tout trafic de ce port via le tunnel crypté en faisant passer les [user-of-Host-1]@[Host-1-address]arguments à l’hôte 2, comme spécifié dans [local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1]. Cette méthode s'appelle Redirection de port local (je ne comprends pas vraiment la redirection de port distant).

Par exemple, supposons que je souhaite me connecter à l'hôte 2, qui n'est pas redirigé sur le port, depuis mon café local, en utilisant l'hôte 1, qui est redirigé sur le port, pour faire rebondir la connexion sur son réseau local. Notez que cela ouvrira un PTS sur la machine distante, mais il peut être ignoré jusqu'à ce que vous souhaitiez fermer ce tunnel. Ensuite, vous pouvez simplement fermer cette session de terminal comme vous le feriez normalement.

L'adresse IP publique de l'hôte 1 est 201.31.103.212(le NAT qui encapsule l'hôte 1 et l'hôte 2) sur le port 1337pour SSH. L'hôte 2, sur le réseau local, a l'adresse IP locale de 192.168.254.40et utilise le port 22pour SSH. Le nom d'utilisateur de l'hôte 1 est fish.

Ok, je dirai simplement que le port local 8080n’est pas utilisé et que je peux l’utiliser temporairement pour cette démonstration.

La commande que je formerais est en tant que telle:

ssh -L 8080:192.168.254.40:22 fish@201.31.103.212

Maintenant, cela ouvre le port 8080sur votre ordinateur local et envoie à sur 192.168.254.40le port 22(hôte 2) en fonction de l'hôte 1 (qui est fish@201.31.103.212)

Maintenant, si vous voulez utiliser SSH dans l’hôte 2, il vous suffit de spécifier votre ordinateur sur le port 8080. Disons que le nom d'utilisateur de l'hôte 2 estturtle

ssh turtle@127.0.0.1 -p 8080

SSH gère votre port 8080et envoie votre demande SSH à l'hôte 1, qui l'envoie ensuite à l'hôte 2. Veuillez noter que, au lieu d'utiliser 127.0.0.1, vous pouvez également utiliser localhost. C'est juste la préférence.

Les serveurs proxy sont une autre utilisation de la redirection de port SSH.

Scénario: je suis à l'école avec mon ordinateur portable personnel et je veux accéder à Twitter, qui est bloqué (c'est en fait à mon lycée, alors j'ai fait exactement cela). J'ai un hôte SSH à transfert de port chez moi avec l'adresse IP 39.34.81.56sur le port 1337. Je souhaite établir une connexion avec Twitter (les serveurs Web étant généralement hébergés sur un port 80) à partir de mon port 8080sur mon ordinateur portable via mon hôte chez moi. J'émettrais la commande sur mon ordinateur portable:

ssh -L 8080:twitter.com:80 root@39.34.81.56 -p 1337

Maintenant, je peux accéder localhost:8080à mon navigateur Web, et celui-ci acheminera Twitter à travers mon tunnel crypté, de leurs serveurs à mon domicile puis à mon ordinateur portable à l'école.

Je peux utiliser cette même méthode pour me connecter à un site Web qui n'utilise pas SSL (pastebin par exemple) en public et m'assurer que mes informations d'identification sont sûres car cryptées à l'aide de SSH et envoyées uniquement sans SSH depuis mon domicile, ce que j'ai déjà fait. bien sûr est sécurisé.

Bonne chance!

EDIT: Juste une note de côté, les adresses IP indiquées ici ne doivent pas être des adresses valides, mais si elles ne le sont pas, veuillez ne pas harceler les utilisateurs de ces adresses IP.


Le fragment relatif à LogMeIn Hamachi peut être amélioré en suivant ces grandes lignes .
Kamil Maciorowski
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.