Pour aider les autres rapidement, SSH est très utile, surtout combiné avec GNU Screen. Il est courant que les utilisateurs soient derrière un routeur NAT. Même si l'utilisateur peut configurer le routeur, il faut un certain temps pour se souvenir du mot de passe, trouver les bonnes options, etc.
Alors, quelle est la façon la plus simple d'aider les autres via SSH s'ils sont derrière un routeur NAT?
Je dis actuellement aux gens d' ouvrir un terminal, d' exécuter la commande ci-dessous et de me transmettre leur IP à partir d'un site comme http://ip.appspot.com/ :
sudo apt-get install openssh-server ssh-import-id && ssh-import-id lekensteyn
Évidemment, cela ne fonctionnera pas s'ils sont derrière un routeur NAT ou si un pare-feu personnel est configuré. Alors, y a-t-il quelque chose comme:
sshd --accept-help-from lekensteyn
Je ne cherche pas d'alternatives comme Teamviewer, juste un shell comme SSH. Il devrait également être open-source.
la source
En fonction de vos besoins spécifiques, je voudrais probablement:
J'ai également oublié que vous pouvez essayer le tunnel ssh inverse , bien que cette solution nécessite techniquement un ordinateur de plus - milieu - pour fonctionner.
Plus d'informations peuvent être trouvées ici
la source
Je mets généralement en place un tunnel IPv6 (à partir de sixxs.net ou he.net) s'ils n'ont pas déjà IPv6 et de cette façon, l'ordinateur a une adresse statique et je n'ai pas à jouer avec NAT. J'aime également mettre en place une authentification basée sur les clés (alors ils n'ont pas à vous dire leur mot de passe).
Sixxs a son propre client que vous utilisez. Il fonctionne derrière presque tous les NAT et se met à jour automatiquement lorsque l'adresse IPv4 change. Ils ont des instructions sur la façon de le configurer et il est conditionné pour Ubuntu.
Hurricane Electric utilise un tunnel où les packages IPv6 sont envoyés en tant que charge utile d'un paquet IPv4. Contrairement à Sixxs, aucun TCP / UDP n'est utilisé. Cela signifie que le NAT que vous êtes derrière doit prendre en charge le PROTOCOLE 41 de transfert (pas le port) et qu'un seul ordinateur derrière le NAT peut l'utiliser. Le logiciel pour utiliser un tunnel comme celui-ci est intégré à Ubuntu.
Pour HE, j'utilise quelque chose comme ça dans
/etc/network/interfaces
:L'autre chose que vous devez faire est de mettre à jour votre point de terminaison de tunnel. Puisque vous ne savez pas quand l'IP externe change, vous devrez simplement essayer de mettre à jour le point de terminaison toutes les quelques minutes. Vous pouvez utiliser quelque chose comme ça et l'exécuter à partir de cron:
la source
Au fil des ans, j'ai développé une interface graphique pour faire exactement ce que l'OP demande ... sauf qu'il nécessite un accès ssh à un troisième serveur avec IP publique, comme suggéré par Pavlos. Vous pouvez trouver ici les paquets debian et les instructions:
http://pietrobattiston.it/reachme
Notez qu'il n'est pas (encore) en mesure de prendre en charge la configuration initiale - à savoir, vous devez configurer vous-même les clés rsa pour une connexion sans mot de passe. Une fois configuré, "reachthem" vous permet de voir si "reachme" est connecté, et d'ouvrir un shell ssh / parcourir le système de fichiers / afficher l'écran (expérimental).
De toute évidence, vous n'avez pas besoin d'un troisième ordinateur si votre ordinateur lui-même a une adresse IP publique, comme dans la réponse de ændrük. Et clairement, l'avantage de l'interface graphique est que l'utilisateur distant n'a pas à entrer de commande dans un terminal ... mais une partie de cet avantage est perdue si l'utilisateur distant doit installer reachme. Donc, j'installe et configure toujours toujours reachme pour tous ceux sur lesquels j'installe Ubuntu.
la source