#ssh-tunnel #mongodb-shell #aws-documentdb
#ssh-туннель #mongodb-оболочка #aws-documentdb
Вопрос:
У меня настроена AWS DocumentDB, к которой я могу легко подключиться через окно перехода, используя:
mongo --ssl --host aws-host:27017 --sslCAFile rds-combined-ca-bundle.pem --username my_user --password <insertYourPassword>
Я хотел бы иметь возможность подключиться к нему через localhost для некоторого тестирования. Я не могу подключиться напрямую, поэтому я попытался открыть туннель с моего перехода:
ssh -i ~/.ssh/my-key user@my_jump -L 27017:aws-host:27017 -N
После этого я попробовал базовую команду MongoDB connect:
mongo --ssl --host localhost:27017 --sslCAFile rds-combined-ca-bundle.pem --username my_user --password <insertYourPassword>
Я получаю ошибку, которую я понимаю:
Сертификат сервера не соответствует имени хоста. Имя хоста: localhost не соответствует SAN (-ам)
Я попытался использовать export http_proxy
для использования http://my_jump:27017
и снова использовать приведенную выше команду, но безуспешно.
Есть предложения или помощь по подключению?
Ответ №1:
Попробуйте отключить проверку имени хоста ssl:
mongo --ssl --sslAllowInvalidHostnames ...
Примечание —sslAllowInvalidHostnames доступно с версии 3.0.
Если это не сработает, попробуйте --ssl
полностью удалить из параметров подключения, как указано в документации:
Оболочка mongo проверяет, соответствует ли имя хоста (указанное в опции —host или строке подключения) SAN (или, если SAN отсутствует, CN) в сертификате, представленном mongod или mongos. Если присутствует SAN, mongo не соответствует CN. Если имя хоста не соответствует SAN (или CN), оболочке mongo не удастся подключиться.
Комментарии:
1. Да! Ключевым моментом здесь также является версия 3.0 . Мне пришлось обновить клиент, чтобы он действительно заработал.
2. Я могу подключиться на jump_server, но не могу подключиться со своего компьютера? Как подключиться извне?
3. Пожалуйста, имейте в виду, что официальная документация предупреждает избегать этого флага: docs.mongodb.com/manual/tutorial/configure-ssl-clients /…
4. Есть ли какой-либо способ, которым я могу подключиться к documentdb за прокси-сервером без
sslAllowInvalidHostnames
? Даже документ aws говорит мне использовать его!