Bonjour,
J'ai découvert ce matin le tunneling SSH et en particulier le reverse ssh. J'ai donc fait mes tests et tout fonctionnait. Malheureusement lorsque j'ai commencé le déploiement sur mes différentes machines, je me suis aperçu que le port ssh ne pouvait être le même.
Pour expliquer exactement ce que j'ai fait, j'ai une centaine de machines debian en france cachées derrière des NAT, firewall. J'ai créé un identifiant par machine puis chaque machine crée un tunnel : ssh -R 8000:localhost:22 id_machine_1@monserveur
pour ma machine 1 et ssh -R 8000:localhost:22 id_machine_2@monserveur
pour ma machine 2. Le souci est que la deuxième machine ne parvient pas à initialiser le tunnel du fait qu'elle utilise le même port que la machine 1.
J'ai souhaité procéder ainsi car je n'avais pas envie de gérer une table de ports associés à mes identifiants de machine. De cette manière un simple ssh -p8000 id_machine_1@localhost
suffit pour se connecter.
Au final j'aimerai avoir une solution de connexion ssh à mes différentes machines sans avoir à paramétrer tous les routeurs auxquels elles sont connectées un peu comme le fait teamviewer mais sans accès à l'interface graphique.
Je cherche donc une solution pour éviter ce problème voire même une alternative autre que le reverse ssh.
Merci
# Conflit de port
Posté par Sébastien Maccagnoni (site web personnel) . Évalué à 2.
Salut,
Bah oui, tu ne peux pas faire ce que tu évoques…
Tu dis à SSH de rediriger le port 8000 de "monserveur" vers le port 22 de la machine 1.
Ensuite tu dis à SSH de rediriger le port 8000 de "monserveur" vers le port 22 de la machine 2.
… mais le port 8000 est déjà redirigé.
Imagine, si le port 8000 était redirigé vers les deux machines, comment choisirais-tu à laquelle te connecter, avec ton "ssh -p8000" ?
Si tu veux utiliser ça, la seule possibilité c'est de prendre un port différent pour chaque machine…
Je ne connais pas de méthode pour faire ça automagiquement.
Cela dit, tu pourrais aussi utiliser un fichier de configuration SSH pour simplifier ta connexion, et c'est lui qui servirait de "table des ports"…
[^] # Re: Conflit de port
Posté par ShR3K . Évalué à -1.
Je pensais qu'en mettant le nom d'utilisateur il allait savoir quel tunnel utiliser. N'existe - t - il pas des solutions (package deb) qui serait en mesure de faire ce que je veux ?
[^] # Re: Conflit de port
Posté par NeoX . Évalué à 4.
tu as le choix des ports depuis 1025 jusqu'a 65535
tu peux donc faire port 8000 pour la premiere machine, 8001 pour la deuxieme, 8002 pour la troisieme…
# vpn / openvpn / ipsec
Posté par nono14 (site web personnel) . Évalué à 2.
A mettre en place ?
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
# Solution
Posté par ShR3K . Évalué à 0. Dernière modification le 14 mai 2014 à 20:49.
J'ai finalement trouvé ce que je voulais. Sur chaque machine client je me sert de autossh : un programme permettant de relancer le tunnel en cas de perte de connexion :
autossh -M 0 -q -N -oServerAliveInterval=120 -oServerAliveCountMax=3 -R 0:localhost:22 id_machine_n@mon_serveur
Ensuite sur le serveur, j'ai fait un script auquel je renseigne mon identifiant machine et le tour est joué.
Voici mon script :
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.