Вот моя установка -
У меня два 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.