Surya
Surya

Reputation: 1091

mongodump from remote node - unable to authenticate using mechanism "SCRAM-SHA-256"

Tried taking dump from a remote node and got the following error:

Failed: can't create session: could not connect to server: connection(): auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-256": (AuthenticationFailed) Authentication failed.

Error Screenshot

Tried two methods to take dump from the remote node. But got the same error in both the methods.

# Method 1
mongodump -h remoteip@port -u xxx -p xxx --db xxx --authenticationDatabase admin

# Method 2
mongodump --uri "mongodb://username:password@remoteip:port/db?authSource=admin"

How to resolve this?

Upvotes: 13

Views: 29491

Answers (6)

Lalo19
Lalo19

Reputation: 147

I had that problem and solved it by removing the special characters. For example, in my case I had a password abc@123. The connection string would be

mongodb://myuser:abc@[email protected]:27017/mydb?authSource=admin

as we can see a problem is generated because the "@" is a special character to separate the elements of the connection string , and I had to replace it with "%40", so my password was left as "abc%40123". And depending on the console that I used (powershell, command prompt, git bash, etc.) it generated the backup with an error or with a correct response. By removing the "@" everything worked correctly.

Possibly there is some way to configure this encryption, but in my case I preferred to change the password. I hope it will be useful to someone, greetings.

Upvotes: 0

U R
U R

Reputation: 530

1.If you are using an URI for mongodump command,--authenticationDatabase admin option is equivalent to ?authSource=admin

mongodump --uri "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

sample url:

mongodump --uri "mongodb+srv://username1:password1@host1/db1?authSource=admin" 

Upvotes: 6

mmey
mmey

Reputation: 1685

For me (trying to use mongodump on a single node DB on the same host), using --authenticationDatabase admin did the trick:

mongodump -u root --password 'secret' --authenticationDatabase admin -d mongo-dev -o /tmp/dump-2020-11-27.bson


(courtesy of mongodump from remote node - unable to authenticate using mechanism "SCRAM-SHA-256")

Upvotes: 21

vahan terzibashian
vahan terzibashian

Reputation: 278

Was in the same spot that you are, solved it this way:

mongodump --uri "mongodb+srv://username:password@yourmongodbclustersourceurl" --archive \
mongorestore --uri "mongodb+srv://username:password@yourmongodbclusterdestinationurl" --archive \
--nsExclude "admin.system.*"

Needless to mention, you just need to change your username, password and the url in this formula and voila. Good luck.

Upvotes: 0

NATALIAGJ
NATALIAGJ

Reputation: 121

I had the same problem and solved it using single quotes in the password like this:

   --password 'secret'

Upvotes: 4

Jack Lee
Jack Lee

Reputation: 164

I had the same issue. In my case, the password has special characters. It works with single quote for password:

-p 'my_password'

Upvotes: 13

Related Questions