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 ?