Используйте Robo 3T для подключения к удаленному MongoDB

Я пытаюсь использовать Robomongo (или Robo 3T) под Mac для управления моим mongodb на удаленном сервере Ubuntu и Nginx.

Обычно мне нужно ssh xxx.xx.xx.xx в терминале с именем пользователя и паролем для подключения к серверу. в /etc/nginx/sites-enabled/myweb.io есть listen 443 ssl.

В Robo 3T пытался установить связь с Use SSH tunnel. Я пробовал номер порта 443 или 80. Но это дало мне ошибку: Error: Resource temporarily unavailable. Error when starting up SSH session: -13. (Error #35)

Кто-нибудь знает, как это исправить?

введите здесь описание изображения


person SoftTimur    schedule 18.11.2017    source источник
comment
Попробуйте подключиться без туннеля SSH, и SSH будет работать на порту 22 (если вы не меняли его, но вам следует его изменить).   -  person Shubhamoy    schedule 18.11.2017
comment
Если я подключаюсь без SSH-туннеля, какой путь мне использовать?   -  person SoftTimur    schedule 18.11.2017
comment
Просто снимите флажок SSH Tunnel и попробуйте подключиться.   -  person Shubhamoy    schedule 18.11.2017
comment
Я заполнил порт 22, отключил SSH-туннель, выдала ошибку: Cannot connect to the MongoDB at :0. Error: Network is unreachable.   -  person SoftTimur    schedule 18.11.2017
comment
Это означает, что соединение SSH прошло, но не удалось подключиться к вашему экземпляру MongoDB. Попробуйте проверить на своем сервере, работает ли Mongo.   -  person Shubhamoy    schedule 18.11.2017
comment
Мой сервер всегда включен. Кстати, что я должен ввести в Address на вкладке Connection Robo 3T?   -  person SoftTimur    schedule 18.11.2017
comment
Давайте продолжим это обсуждение в чате.   -  person Shubhamoy    schedule 18.11.2017


Ответы (3)


Правильная настройка

1) в SSH, отметьте User SSH tunnel, используйте порт 22

2) и под Connection напишите 127.0.0.1:27017

person SoftTimur    schedule 18.11.2017

Подключитесь к удаленному MongoDB с помощью Roto3t

Во-первых, мы должны проверить стандартную схему подключения URI для mongodb

mongodb://[username:password@]host1[:port1][,...hostN[:portN]]][/[database][?options]]

Мы делаем SSH Connection удаленному MongoDB на Cloudfoundry

в моем случае cf ssh -L port_forwarding:HOST_NAME:Port NAME_OF_APP

(1) На вкладке Connection в Robo3T выбираем

Type: direct connection
Name: choose_any_connection_name
Address: localhost and port is 'port_forwarding' we choose in the SSH connection we made.

(2) во вкладке Authentication мы должны добавить database, username, password и Auth Machanism: SCRAM-SHA-1

(3) на вкладке SSH мы снимем флажок use SSH tunnel, поскольку мы сделали это вручную. Теперь, если вы нажмете «Проверить», соединение должно быть успешно установлено.

Примечание. Если мы используем Studio 3T, он проанализирует URI и заполнит все эти поля. для нас.

person Mohamed Samir    schedule 18.02.2019

Я выполнил несколько конфигураций в моем Ubuntu 18 Vagrant box, чтобы успешно подключать MongoDB удаленно с помощью графического интерфейса пользователя Robo 3T. Я объяснил следующие шаги.

  1. На сервере Ubuntu, чтобы открыть оболочку mongo, выполните:
    $ mongo
    
  2. Внутри оболочки mongo введите следующую команду, чтобы создать нового пользователя с правами администратора.

    > use admin;
    > db.createUser({user:"admin", pwd:"password", roles:[{ role: "root", db: "admin" }]});
    
  3. По умолчанию mongodb настроен на разрешение подключений только с локального хоста (IP 127.0.0.1). Нам нужно разрешить удаленные подключения с любого IP-адреса. Следующее изменение следует делать только на вашем сервере разработки. Откройте файл etc / mongod.conf и внесите следующие изменения.

    # network interfaces
        net:
            port: 27017
            bindIp: 0.0.0.0   #default value is 127.0.0.1
    

    Также в том же файле mongod.conf раскомментируйте параметр безопасности и добавьте параметр авторизации, как показано ниже.

    security:
        authorization: enabled
    
  4. Сохраните и выйдите из файла mongod.conf и перезапустите сервер mongodb.

    $ sudo servcie mongod restart
    
  5. Загрузите и установите инструмент Robo 3T GUI.

  6. В графическом интерфейсе пользователя Robo 3T в настройках подключения необходимо внести несколько изменений, как показано на снимках экрана ниже.

введите здесь описание изображения

Введите имя пользователя и пароль базы данных mongodb admin, которые вы создали ранее.

введите здесь описание изображения

Здесь я ввел свои учетные данные ssh для Ubuntu 18 Vagrant.

введите здесь описание изображения

Сохраните изменения и нажмите значок подключения, чтобы убедиться, что соединение работает нормально.

person Krishna    schedule 09.06.2019