Mon titre est assez peu explicite mais je n'en ai pas trouvé de plus pertinent... J'expose donc mon problème en détails.
J'administre un serveur (appelons-le machine A) dans mon école, celui-ci a une connexion Internet. Il n'y a pas de routage au sein du réseau local et il est donc impossible de contacter cette machine A depuis l'extérieur. Cependant, pour des facilités d'administration, j'aimerais pouvoir effectuer des modifications sur cette machine A sans devoir me rendre sur place, une console par SSH ça serait parfait.
Si un client mis en place sur cette machine A et qu'il contacte un serveur mis en place sur une machine B, une connexion serait établie entre les 2 machines et on pourrait donc envoyer des données de la machine B vers la machine A. C'est un peu tordu mais c'est la seule solution que j'ai trouvé pour contourner le problème...
Existe-t-il un logiciel basé sur ce principe (ou autre chose qui pourrait résoudre mon problème) ?
Merci.
# un tunel ssh
Posté par seginus . Évalué à 2.
ssh -R 22:localhost:22 user@pi_B
ensuite, tu n'as qu'a te connecter à B
ssh userdeA@ipB et tu tu retrouve automatiquement sur A
[^] # Re: un tunel ssh
Posté par JJD . Évalué à 4.
En fait, l'ouverture des ports en dessous de 1024 est soumis à restriction (seul le superuser peut le faire).
De plus, sur le serveur B, le port 22 est déjà utilisé (par le serveur SSH sur lequel tu te connectes). Dans la commande de tunnel SSH, il faut donc utiliser un numéro de port différent (et supérieur à 1024).
Par exemple :
sur A on exécute :
ssh -R 2222:localhost:22 userdeB@B
Si on veut juste créer le tunnel, sans ouvrir de session sur B, on peut même exécuter ssh avec les bonnes options :
ssh -N -n -R 2222:localhost:22 userdeB@B
[On peut alors fermer le tunnel avec Ctrl-C. On peut aussi utiliser l'option -f, pour mettre le process ssh en arrière plan, mais il faudra alors fermer le tunnel avec un kill]
Pour se connecter sur A depuis une machine ayant accès à B (ou depuis B lui même), on exécute :
ssh -p2222 userdeA@B
Pour tout cela, il n'est pas nécessaire d'avoir les droits root sur aucune des deux machines impliquées (à condition que le port -forwarding ne soit pas interdit).
A+
JJD
[^] # Re: un tunel ssh
Posté par seginus . Évalué à 2.
ssh et les tunnels, c'est vraiment quelque chose de fabuleux.
[^] # Re: un tunel ssh
Posté par Laurent Léonard (site web personnel) . Évalué à 1.
[^] # Re: un tunel ssh
Posté par Laurent Léonard (site web personnel) . Évalué à 1.
Si je me connecte en SSH sur mon serveur B, je peux me connecter au tunnel en faisant : ssh localhost -p 20000
Cependant, depuis mon poste de travail à la maison, impossible de me connecter à monserveurB sur le port 20000, on dirait que ssh n'écoute que localement et le tunnel est donc inaccessible de l'extérieur... Quelqu'un a-t-il une solution à ce problème ?
[^] # Re: un tunel ssh
Posté par JJD . Évalué à 1.
Pour rendre le tunnel disponible depuis des machines externes, il faut utiliser la syntaxe "-R :20000:localhost:22" (note les deux points :) ou "-R <adresse IP serveur>;20000:localhost:22".
Il faut également que sur le serveur, l'option "GatewayPorts" soit activée dans sshd_config (ce qui n'est pas le cas, en général, dans les configurations par défaut).
[^] # Re: un tunel ssh
Posté par Laurent Léonard (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.