leonchen83/redis-rdb-cli

NOAUTH despite authPassword and/or ACL style on Redis 6.2.6

sgohl opened this issue · 4 comments

sgohl commented

When trying to migrate a RDB file or a single-mode source redis to remote redis cluster (both 6.2.6)

docker run --pull=always -it --rm redisrdbcli/redis-rdb-cli:latest-native bash

# rdt -b redis://192.168.200.177:6161 -o /tmp/data.rdb
/[  1.3GB| 11.6MB/s]

# rmt -s /tmp/data.rdb -m redis://default:UaY34A1KB@192.168.200.177:6071 -r
\[    5 B|  333 B/s]failed to connect cluster nodes, reason : NOAUTH Authentication required.
failed to connect cluster nodes, reason : NOAUTH Authentication required.
failed to connect cluster nodes, reason : NOAUTH Authentication required.
failed to connect cluster nodes, reason : NOAUTH Authentication required.

Destination Redis Cluster has:

192.168.200.177:6071> ACL LIST
1) "user default on #7d18ca55910168baebd9e6304d988379163eb714a2f524c216299ab377e7451d ~* &* +@all"

I also tried the authPassword and ACL style and both:

redis://default:UaY34A1KB@192.168.200.177:6071?authPassword=UaY34A1KB
redis://192.168.200.177:6071?authPassword=UaY34A1KB

when I try to log in with a wrong password on purpose it recognized the password was wrong, so it works as expected:

java.lang.RuntimeException: failed to connect to 192.168.200.177:6071, reason WRONGPASS invalid username-password pair or user is disabled.
	at com.moilioncircle.redis.rdb.cli.cmd.XRmt.getRdbVisitor(XRmt.java:169)

It didn't work with the -c nodes.conf variant either.

Am I doing something wrong or is the tool not yet able to handle redis v 6.2.6 ?

@sgohl
It's a bug. for now can't support redis cluster that with auth password. it will fix at version 0.8.2

@sgohl
master branch fixed above bug. you can build a local release by yourself. if test done. it will release in this weekend.
BTW redisrdbcli/redis-rdb-cli:latest run faster than redisrdbcli/redis-rdb-cli:latest-native

sgohl commented

awesome, with rmt it worked perfectly!