1 votes

bizarrerie du tunnelage ssh

Cet exemple est lié à MongoDB, mais le problème principal concerne le tunnelage SSH. Les éléments relatifs à MongoDB devraient cependant apporter une valeur ajoutée.

Salut,

J'essaie de faire apparaître un nœud MongoDB local qui fait partie d'un ReplicaSet basé dans un centre de données. TCP/IP sera tunnelisé par SSH du nœud local au centre de données.

Toutes les boîtes, locales et du centre de données, fonctionnent sous CentOS.

Cela fonctionne bien lors de la création d'un tunnel sur le centre de données box1 vers le nœud local en utilisant :

ssh -v -4 -f -N -o TCPKeepAlive=no -o ServerAliveInterval=15 -L27017:127.0.0.1:27017 -g a_user@server_i_have_ssh_access_to

box1 peut accéder au nœud local Mongo Shell avec la commande ( cmd 1 ):

mongo --host localhost --port 27017

box2 peut également accéder au nœud local Mongo Shell avec la commande ( cmd 2 ):

mongo --host box1 --port 27017

box2 dans le centre de données peut également se connecter à box1:27017, le port transféré de mon nœud local.

Cependant, il serait préférable, plus simple, et devrait être possible de mettre en place un reverse forward entre le nœud local et box1 sur les mêmes ports que ci-dessus. En utilisant la commande :

ssh -v -4 -f -N -o TCPKeepAlive=no -o ServerAliveInterval=15 -R27017:127.0.0.1:27017 -g a_user@box1

Maintenant, je peux me connecter de la boîte 1 au nœud local en utilisant cmd 1 ci-dessus, cependant, cmd 2 échoue avec :

Error: couldn't connect to server box1:27017} (anon):1139 exception: connect failed

Des idées ?

2voto

songsong Points 173

Par défaut -R n'écoute que sur l'interface de bouclage (la valeur par défaut de l'option -L c'est-à-dire toutes les interfaces). Par conséquent, cmd1 fonctionne parce qu'il est exécuté localement sur la boîte1 mais cmd2 échoue parce qu'il est exécuté sur la boîte2. La solution consiste à modifier -R à l'un d'entre eux :

-R:27017:127.0.0.1:27017
-R'*:27017:127.0.0.1:27017'

0voto

mjn Points 227

Tout ce que je peux penser, c'est que les enveloppes TCP ou une autre authentification échouent. Tout ce qui est dans /var/log/auth.log s'il s'agit d'un système d'exploitation basé sur Debian ou similaire ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X