Je veux déployer un Raspberry Pi dans mon chalet de week-end. Le Raspberry Pi est là pour enregistrer les températures et les envoyer à un serveur distant qui a une adresse IP fixe, enregistre les données et les affiche sur un simple site Web.
Cependant, la situation peut survenir que je souhaite changer quelque chose sur le Raspberry Pi. Par exemple des mises à jour du système ou un changement sur le programme qui envoie les données au serveur ou autre.
Avec la configuration proposée, je ne serais pas en mesure de me connecter au Raspberry Pi depuis l'extérieur de son LAN.
REMARQUE: je ne souhaite pas modifier le réseau et le routeur existant n'a pas la capacité de redirection de port, dynDNS ou VPN.
J'ai récemment lu la perforation UDP. L'idée de base est que le client envoie un package UDP à une adresse de serveur connue (c'est-à-dire avec une adresse IP publique ou dynDNS activée). Le client B qui souhaite se connecter au client A demande au serveur l'adresse IP publique et le numéro de port du client A.
Il peut ensuite se connecter au client A directement sur son IP publique et son port qui est dynamique. Étant donné que le client A s'est d'abord connecté au serveur sur le port maintenant utilisé, le NAT transmet les packages au client A.
J'espère avoir résumé l'idée plus ou moins correctement…
Tout cela semble agréable, mais le problème est que cela n'est pas garanti pour fonctionner avec une connexion TCP, car le routeur est capable de «comprendre» la prise de contact de la connexion TCP et si elle n'est pas établie correctement, elle ne sera pas transférée les colis.
Alors, comment puis-je ouvrir une session SSH du client B au client A, sans que le client A soit assis derrière un routeur avec dynDNS, une adresse IP publique fixe ou la possibilité de redirection de port? L'utilisation d'un serveur central avec un IP public, un IP fixe ou un nom de domaine serait difficile.
la source
-w
mais il a dit udp sur tcp (peut-être par ce qu'il inclut toute tentative de transfert d'udp avec ssh), implique des problèmes tels qu'une latence élevée et la retransmission de choses que vous ne voulez plus. Je suppose que c'est quand même une chose intéressante à essayer. Je vois ce vpn via ssh et -w mentionné ici aussi wiki.archlinux.org/index.php/VPN_over_SSHRéponses:
pwnat
Source: http://samy.pl/pwnat.pdf
https://github.com/samyk/pwnat
la source
Voici quelques solutions:
Vous pouvez configurer votre Raspberry Pi pour vous reconnecter à un serveur OpenVPN et vous y aurez accès tout le temps.
Vous pouvez jeter un œil à PageKite. Vérifiez https://pagekite.net/wiki/Howto/SshOverPageKite/
la source
C'est une solution un peu sale mais facile, mais qu'en est-il de l'utilisation de netcat? Sur le Raspberry Pi, vous pouvez créer un script qui boucle la commande:
Sur votre hôte local, faites:
Et:
Vous pourrez taper une commande dans la première instance et voir la réponse dans la seconde.
la source