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