Докер Монго Аут SCRAM-SHA-1 - PullRequest
       10

Докер Монго Аут SCRAM-SHA-1

0 голосов
/ 06 января 2019

System

Идентификатор распространителя: Ubuntu
Описание: Ubuntu 16.04.5 LTS
Релиз: 16.04

Мой докер-compose.yml

version: "3"
services:
  mongo:
    image: mongo
    container_name: mongodb
    environment:
      - MONGO_INITDB_ROOT_USERNAME=test1
      - MONGO_INITDB_ROOT_PASSWORD=test1
      - MONGO_DATA_DIR=/data/db
    ports:
      - 27017:27017
    volumes:
      - ./data/db:/data/db
    command: [--auth]

Я пытаюсь получить доступ к монго:

mongo -u test1 -p'test1' --port 27017 --authenticationDatabase admin

и выдает ошибку:

MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:27017/test
2019-01-06T17:06:39.987+0700 Error: 2 { ok: 0.0, errmsg: "Auth mechanism not specified", code: 2, codeName: "BadValue" } at src/mongo/shell/db.js:1287
exception: login failed

Так что я пытаюсь с определенным механизмом аутентификации:

mongo -u test1 -p'test1' --port 27017 --authenticationDatabase admin --authenticationMechanism SCRAM-SHA-1

и это тоже выдает ошибку:

MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:27017/test
2019-01-06T17:07:44.967+0700 Error: 2 SCRAM-SHA-1 mechanism support not compiled into client library. at src/mongo/shell/db.js:1287
exception: login failed

Я запутался в ошибке msg SCRAM-SHA-1 mechanism support not compiled into client library. at src/mongo/shell/db.js:1287. Как это решить?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Попробуйте добавить указанный ниже раздел в файл mongod.conf (/etc/mongod.conf)

setParameter:
  authenticationMechanisms: PLAIN,SCRAM-SHA-256
  enableLocalhostAuthBypass: false

Здесь мы устанавливаем механизм аутентификации как обычный или SCRAM-SHA-256. «enableLocalhostAuthBypass: false» гарантирует, что при подключении с локального хоста не обходить аутентификацию.

0 голосов
/ 31 января 2019

Ваша оболочка MongoDB является старой версией (2.6.10), которая не поддерживает механизм SCRAM-SHA-1. Более поздние версии (на момент написания статьи последняя версия 4.0.3) поддерживают ее и активируют по умолчанию.

Скорее всего, вы установили пакет mongodb из официальных репозиториев Ubuntu, используя sudo apt install mongodb. Следуйте инструкциям из документации MongoDB для установки на Ubuntu для установки официального пакета mongodb-org.

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

Не забудьте сначала удалить пакет, который вы уже установили, как указано в документе, с помощью:

sudo apt remove mongodb
sudo apt purge mongodb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...