Как подключиться к удаленной MongoDB с аутентификацией и SSH-туннелированием - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь подключиться к Remote MongoDB, используя указанные ниже учетные данные ROBO3T, и он успешно подключается.

enter image description here

enter image description here

enter image description here

Я пытаюсь повторить то же самое с помощью файла .sh, т.е. сценария оболочки, и он не работает.

1) Это команда, которую я выполняю для сценария оболочки frm mongo,

mongo --username username --password password --authenticationDatabase admin --host ip-test --port 27017

Но я получаю Socket Exception и COnnection Timed Out Exception и не могу подключиться к Remote MongoDB.

2) Итак, я добавил ниже ip в файл mongo.cfg,

bindIp: ip-test,127.0.0.1,0.0.0.0

3) У меня также есть ip-тест, определенный в файле Windows Host.

4) Я также попробовал приведенную ниже команду после всех конфигураций,

mongo -u username -p password ip-test:27017/sample --authenticationDatabase admin

Но все равно получаются одинаковые ошибки сокета и тайм-аут соединения.

5) Затем я попытался задать ssh Tunneling (конфигурацию) в самой команде оболочки mongo, как показано ниже,

mongo ip-test:27017/sample -u username -p pasword -e 'SHOW DATABASES;' -h 127.0.0.1 | ssh -fN -l root -i "path for private key/id_rsa" -L 22:ip-test:27017 ip-test

Это не дает никакого исключения Socket, но дает тайм-аут соединения.

Когда я пытаюсь подключиться SSH независимо от терминала, это успешно.

Но проблема в том, что я хочу объединить команду оболочки mongo с аутентификацией и туннелированием ssh в одной команде.

Может кто-нибудь помочь мне понять, как подключиться к серверу Remote MongoDB с помощью аутентификации и конфигурации SSH через файл .SH (Shell Script)?

Я очень новичок в ssh. Туннелирование со скриптом оболочки, мне нужна помощь.

Заранее большое спасибо.

...