그것은이었다 쉽게 사용 AWS 내 원격 MySQL 서버에 연결하는 나를 위해 sequelpro을 하지만 나는 MongoDB를 함께 같은 일을하고와 사투를 벌인거야.
커맨드 라인을 통해 ssh 터널을 설정하려고 시도했습니다.
ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com
또한 호스트를 IP 주소로 바꾸어 시도했습니다.
아이디어는 포트 9999의 모든 mongodb 연결을 포트 27101의 호스트에있는 연결로 전달하는 것입니다. 그러나 명령을 실행할 때 :
mongo --host localhost --port 9999
연결이 실패하면 대신 이것을 얻습니다.
MongoDB shell version: 2.6.0
connecting to: localhost:9999/test
channel 2: open failed: connect failed: Connection timed out
channel 3: open failed: connect failed: Connection timed out
2014-05-22T14:42:01.372+0300 DBClientCursor::init call() failed
2014-05-22T14:42:01.374+0300 Error: DBClientBase::findN: transport error: localhost:9999 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:148
exception: connect failed
내가 실행 sudo netstat -plnt
하면 다음과 같은 순서로 나타납니다.
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 4242/node
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1342/httpd2-prefork
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2552/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2505/master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 11719/mongod
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 16561/redis-server
내가 뭘 잘못하고 있는지 알아?
업데이트 : 이것이 최종 기능 명령의 모양입니다 (신용은 kenster 로갑니다 ).
ssh -fN -i ~/path/to/id_rsa -L 6666:localhost:27017 root@remote.server.com
를 Where -fN
명령은 백그라운드에서이 명령을 실행할 수 있도록
-L
ssh 매뉴얼 페이지와 모순되는 것 같습니다.-L [bind_address:]port:host:hostport Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
명시 적으로host
원격 서버의 호스트라고합니다. 로컬 용으로 사용하고 있습니까?