Как получить доступ к удаленной CouchDB, созданной с помощью Bitnami - PullRequest
0 голосов
/ 12 октября 2019

Я установил стек Bitnami CouchDB на AWS. В консоли AWS EC2 все выглядит нормально. Я следовал всем указаниям о том, как настроить PuTTY для этой реализации, чтобы я мог получить доступ к CouchDB через SSH. PuTTY, кажется, тоже хорошо работает. Я могу подключиться к удаленному серверу по SSH и выполнить там команды, поэтому я предполагаю, что туннель SSH работает. Я следовал этим указаниям: https://docs.bitnami.com/aws/faq/get-started/access-ssh-tunnel/ https://docs.bitnami.com/google/infrastructure/couchdb/administration/connect-remotely/

Чтобы получить доступ к CouchDB, кажется, что я должен изменить порт назначения (в PuTTY) на 5984, что я и сделал: https://community.bitnami.com/t/cannot-access-couchdb-from-my-pc-https/53770/2

Затем я запускаю PuTTY и открываю соединение. Опять же, это похоже на работу, но когда я пытаюсь перейти к ServerIP: 5984, он никогда не подключается. Лучшее, что я могу понять, это то, что мне нужно как-то настроить Chrome на использование туннеля, но я не знаю, верно ли это.

Любые мысли, предложения или перенаправления были бы очень полезны.

Спасибо.

Я на этом разбираюсь и готов попробовать (содрогнуться) установку CouchDB вручную, так как мне кажется, что я все делаю сейчас вручную, и это все еще не так. t работает.

РЕДАКТИРОВАТЬ: Вот что я понял: используя PuTTY и инструкции, на которые я ссылаюсь выше, я могу создать SSH-туннель. Затем, используя Chrome, я захожу на мой localhost: 8888 (см. Мой комментарий ниже - это локальный (т.е. мой компьютер с Windows) порт, подключенный через SSH к удаленному (то есть. Сервер) порту 5984), и он возвращает «неавторизованный». ». Если я использую curl в окне терминала PuTTY и включаю свои учетные данные в БД (т.е. curl -X GET http://admin:{password}@localhost:5984),, я могу получить доступ к CouchDB. Тогда возникает вопрос: как я могу получить доступ к CouchDB из Chrome И вставить свои учетные данные (Я даже попробовал Postman), чтобы получить доступ к Fauxton для тестирования и разработки.

1 Ответ

0 голосов
/ 15 октября 2019

Итак, я думаю, я понял это.

Документы Bitnami помогают правильно настроить PuTTY для включения SSH-туннеля между вашим локальным компьютером и удаленным сервером (см .: https://docs.bitnami.com/aws/faq/get-started/access-ssh-tunnel/). Myпонимание этого туннеля заключается в том, что он создает безопасный канал между определенным портом на вашей локальной машине и определенным портом на удаленном сервере. Этот туннель защищен генерируемыми вами ключами SSH. Когда я установил Bitnami CouchDB в AWS, BitnamiКонсоль сделала весь процесс очень простым, в том числе процесс генерации ключа SSH. Установка Bitnami также создала мою CouchDB на сервере и защитила ее новым паролем администратора (подробнее об этом позже).

Я тогдаследовал другим указаниям, которые показали, как подключиться к CouchDB с удаленного компьютера (см. https://docs.bitnami.com/google/infrastructure/couchdb/administration/connect-remotely/).. Здесь дела идут не так, как надо, или, по крайней мере, для меня. Битнами (мудро) не рекомендуют открыватьсерверные порты для внешнего мира, но вместо этого рекомендуется использовать туннельный метод SSH. е. Тем не менее, инструкции по удаленному подключению предполагают, что вы откроете порт в брандмауэре. Как только вы поймете, что вы не хотите этого делать и что вы не открываете порт, а устанавливаете безопасное соединение через SSH, вы добились прогресса, но все еще на полпути.

Процесс SSH для входа на сервер тогда работает отлично. Я открываю PuTTY, загружаю сохраненный сеанс и открываю SSH, и я нахожусь. Я могу получить доступ к серверу и его файлам через терминал PuTTY. Итак, я попытался получить доступ к CouchDB через Chrome. В адресной строке я набрал: http://localhost:8888. Это относится к МОЕМУ локальному хосту и порту (т.е. не к серверу), а НЕ к порту сервера. Порт сервера отображается через конфигурацию туннеля SSH в PuTTY на 5984 (см .: https://community.bitnami.com/t/cannot-access-couchdb-from-my-pc-https/53770).. Это работает, но я получаю сообщение о том, что требуется авторизация. Это из-за процесса установки, который создал пользователя и пароль администратора,а также проблема конфигурации, и это последний кусок головоломки (по крайней мере, для меня).

Если вы отредактируете файл local.ini для CouchDB на сервере и измените значение [chttpd]«Require_valid_user = true» для «require_valid_user = false», все будет отлично работать из вашего браузера (раз вы, конечно, создали туннель SSH), и вы сможете получить доступ к Fauxton. Я обнаружил это с помощью проб и ошибок, но этот пост подтверждает это: https://blog.couchdb.org/2018/02/03/couchdb-authentication-without-server-side-code/.

Я все равно буду очень признателен за любые комментарии к этому ответу. В частности, любые комментарии о любых возможных дырах в безопасности, которые я мог создать при изменении, требуют от действительного пользователя значение false. Я знаю, что это позволяетне прошедшие проверку пользователи попадают в базу данных, но с базой данных, защищеннойв пароле сервер, защищенный SSH и без открытых портов брандмауэра, может кто-то даже сделать это?

...