简体   繁体   中英

PyMongo MongoClient SSH Connection

I'm trying to establish a connection with a MongoDB database via an SSH connection programmatically from python. I can create a MongoClient object to connect locally but I can't see how to establish an SSH connection for my MongoClient to use.

How would I do this?

First make sure you have no local MongoDB running on your machine, then ssh to the server where MongoDB is running:

ssh -L 27017:MYHOST:27017 MYUSER@MYHOST

Replace MYUSER and MYHOST with your username and host. Then, in another terminal window, run the "mongo" shell from your local computer. By default it connects to localhost:27017, which you've port-forwarded to the remote host. The "mongo" shell should connect correctly.

Then, create a PyMongo connection normally in Python:

>>> from pymongo import MongoClient
>>> c = MongoClient()
>>> c.test.command('buildinfo')
...

More info about SSH tunneling here:

https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

This is not MongoDB-specific at all, any network protocol can be tunneled with SSH port-forwarding.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM