我正在尝试通过编程方式从python以SSH连接与MongoDB数据库建立连接。我可以创建一个MongoClient对象来本地连接,但我看不到如何为我的MongoClient建立SSH连接。
我该怎么做?
答案 0 :(得分:1)
首先确保您的计算机上没有运行本地MongoDB,然后ssh到运行MongoDB的服务器:
ssh -L 27017:MYHOST:27017 MYUSER@MYHOST
用您的用户名和主机替换MYUSER和MYHOST。然后,在另一个终端窗口中,从本地计算机运行“mongo”shell。默认情况下,它连接到localhost:27017,您已将其端口转发到远程主机。 “mongo”shell应该正确连接。
然后,通常在Python中创建一个PyMongo连接:
>>> from pymongo import MongoClient
>>> c = MongoClient()
>>> c.test.command('buildinfo')
...
有关SSH隧道的更多信息:
https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding
这根本不是MongoDB特定的,任何网络协议都可以通过SSH端口转发进行隧道传输。