CLI
Authentication

Authentication

Most redu CLI commands require authentication.

The CLI uses an interactive authentication flow and stores credentials locally for reuse across commands.

Once authenticated, you do not need to log in again unless you explicitly log out or your credentials expire.


Authenticating

To authenticate, run:

redu auth -u <username>

You will be prompted for your credentials.

If authentication succeeds, the CLI:

  • stores your credentials locally
  • automatically creates an SSH keypair (if one does not exist)
  • uploads the SSH public key to your account

No manual SSH key management is required.


When authentication is required

Authentication is required for:

  • managing servers
  • managing networks
  • working with images
  • SSH helpers
  • most platform operations

Commands that do not require authentication (such as --help) will still work without logging in.


Verifying your identity

To see who you are currently authenticated as:

redu whoami

This command displays your current identity and active context.


Credential storage

  • Credentials are stored locally on your machine.
  • They are reused automatically for all future commands.
  • You do not need to pass credentials on every invocation.

The CLI does not require you to manage tokens manually.


Logging out

To remove stored credentials:

redu auth logout

After logging out, commands that require authentication will prompt you to authenticate again.


Authentication failures

If authentication fails, the CLI will:

  • exit immediately
  • print a clear error message
  • return a non-zero exit code

Common causes include:

  • incorrect credentials
  • expired credentials
  • insufficient permissions

Security notes

  • Treat your credentials as sensitive information.
  • SSH private keys are stored locally and never uploaded.
  • Only the public key is registered with your account.
  • Log out when using shared or temporary machines.

Next steps

Once authenticated, you can start using the CLI:

  • List servers: redu server list
  • Inspect networks: redu network list
  • Manage images: redu image list
  • Connect to servers: redu ssh <server_name>

Each command group has dedicated documentation with examples and flags.