2016-11-03 4 views
0

나는 프로그래밍 방식으로 파이썬에서 SSH 연결을 통해 MongoDB 데이터베이스와의 연결을 설정하려고합니다. 로컬로 연결하는 MongoClient 객체를 만들 수는 있지만 MongoClient가 사용할 SSH 연결을 설정하는 방법을 볼 수 없습니다.PyMongo MongoClient SSH 연결

어떻게하면됩니까? MongoDB를 실행된다

+0

SSH 터널링이란? MongoDB 네트워크 프로토콜에는 SSH가 내장되어 있지 않지만 SSH 터널을 통한 연결을 위해 포트 포워딩을 사용할 수 있습니다. –

+0

예 SSH 터널링을 통해 의미합니다. 이 경우 포트 포워딩에 대해 어떻게 생각합니까? –

답변

1

먼저 당신이 로컬 MongoDB를 귀하의 컴퓨터에서 실행되고 있지 있는지 확인, 서버에 ssh 접속 :

ssh -L 27017:MYHOST:27017 [email protected] 

사용자 이름과 호스트와 참고 MyUser하고이 myhost를 교체합니다. 그런 다음 다른 터미널 창에서 로컬 컴퓨터의 "mongo"셸을 실행하십시오. 기본적으로 원격 호스트에 포트 포워딩 한 localhost : 27017에 연결합니다. "mongo"쉘이 올바르게 연결되어야합니다.

그런 다음, 파이썬에서 일반적으로 PyMongo 연결을 만들 :

>>> from pymongo import MongoClient 
>>> c = MongoClient() 
>>> c.test.command('buildinfo') 
... 
여기 SSH 터널링에 대한

더 많은 정보 :

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

이 MongoDB를 특정 전혀, 모든 네트워크 프로토콜이 할 수없는 SSH 포트 포워딩으로 터널링하십시오.