Redis — NOAUTH Authentication required
Fix Redis NOAUTH by configuring credentials and aligning the auth setting between server and client.
Symptoms
- NOAUTH Authentication required
- Commands fail after enabling a password on the server
- It worked before a config change on the Redis instance
- A managed Redis requires a password but the client sends none
Possible causes
- The server requires a password and the client sends none
- The client sends the wrong or empty credentials
- A managed instance requires TLS or a username as well as a password
- Recent changes to requirepass or ACLs broke an unauthenticated client
Diagnosis steps
Check the server auth requirement
redis-cli -h host -p 6379 PINGInterpretation
If the reply is NOAUTH or an error mentioning auth, the server requires credentials that were not supplied.
Authenticate explicitly to confirm
redis-cli -h host -p 6379 -a <password> PINGInterpretation
A successful PING with credentials confirms the password is correct and the client config is the gap.
Inspect client configuration
grep -rn "redis://\|password\|username" src configInterpretation
A connection URL without a password, or with the wrong one, explains why the client is unauthenticated.
Root cause
The server required authentication and the client did not present valid credentials, either because none were configured, the password is wrong, or the server now mandates auth that earlier did not.
Fix
Configure the client with the correct credentials, use a connection URL or options that include the username and password, and match the auth mechanism the server requires, including TLS for managed instances.
Verify the fix
Reconnect and issue a command and confirm it succeeds, and confirm the client is using the intended credentials rather than defaults.
Symptom walkthrough
Commands fail with NOAUTH Authentication required, commonly after a password was set on the server or when moving to a managed instance that enforces authentication. The client connects at the TCP level but issues commands without credentials, so the server rejects them. Managed instances frequently also require TLS or a specific username alongside the password.
Fix in practice
Configure the client with the correct credentials, including username and password where the server expects them, and enable TLS if the managed service requires it. Keep the credentials in configuration or secrets rather than code, and verify the client is not silently using defaults.
Verification
Reconnect and issue a command and confirm it succeeds, then check that the client uses the intended credentials. A working command with the right credentials confirms the fix. Rotating credentials through a secret store also avoids stale passwords lingering in configuration files.
Diagnostic commands
Check the behavior with commands like these:
redis-cli -h host -p 6379 PING
redis-cli -h host -p 6379 -a <password> PING
grep -rn "redis://\|password\|username" src config