Назад | Перейти на главную страницу

Как настроить туннель autossh для MongoDB

Вот моя установка -

У меня два VPS (линода). На Linode1 есть MongoDB. Мне нужно получить доступ к этой MongoDB из Linode2. Но я не хочу, чтобы другие пользователи частной сети украли мои данные, поэтому мне нужно использовать autossh.

Я побежал autossh -M 5122 -N -R 27017:linode1ip:27017 linode1ip на Linode2, но затем мне предлагается ввести пароль для root@linode1ip.

Я ожидаю, что когда я успешно выполню (после модификации) указанную выше команду, я смогу подключиться к mongo из Linode2, просто используя mongo 127.0.0.1:27017. Я ошибаюсь в этом предположении?

Спасибо вам всем.

Насколько я понимаю, вам нужен способ исключить запрос пароля из вашей настройки? Если это то, что вы хотите, вам необходимо настроить аутентификация с открытым ключом. Таким образом, вы можете запустить соединение и забыть о нем.

Ключ аутентификации для пользователя root довольно рискованный, поэтому, возможно, вы захотите использовать свой туннель в качестве mongodb пользователь или другой непривилегированный пользователь.

Я не уверен в этом autossh линии, но я никогда особо не использовал этот инструмент. Возможно, вам стоит попробовать запустить туннель, используя ssh сначала, а затем добавьте autossh часть после того, как все проблемы разобрались.

Второй -M в вашей команде не требуется и (если опубликованная вами командная строка верна) приведет к тому, что вы получите Bad remote forwarding specification 'linode1ip'

Команда, с помощью которой вы хотите настроить туннель:

autossh -M 20000 -N -p 22 USER@LINODE1IP -L 27017/localhost/27017 (отредактировано)

Это установит ssh-туннель между localhost: 27017 на linode2 и портом 27017 на linode1.

Если вы хотите получить эту настройку без необходимости указывать пароль, вам придется настроить аутентификацию с открытым ключом и ssh-agent.