python - PyMongo MongoClient SSH 连接

标签 python ssh pymongo

我正在尝试通过来自 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/

相关文章:

linux - ssh sudo 管道命令

python - Pymongo 中的客户端连接

mongodb - 你可以在 Mongo 中为 $addToSet 指定一个键吗?

python - 从字符串中删除 html 图像标签和它们之间的所有内容

python - 如果所有字符串都需要一个长度或空终止符,那么高级语言如何只用字符构造一个字符串?

bash - 将bash变量传递给ssh

linux - 如何在脚本中使用两个 CPAN 模块

python - Heroku Pymongo 在 "Preparing static assets"处部署失败

python - 如何在Keras中使用fit_generator()加权类?

python - 如何在 python setup.py 中运行测试套件