vm-nebius-auth · git:20260907.805c6d5 · 2026-09-07 · sha256 09a804303c39415d
vm-nebius-auth git:20260907.805c6d5A
Immutable. This exact content never changes and is served at /api/v1/blob/09a804303c39415d.
--- name: vm-nebius-auth description: Start, recover, or verify human Nebius CLI authentication on a remote operator/dev VM with no browser, a safe loopback callback tunnel, and secret-free identity/IAM verification. Use for remote CLI profile setup; do not replace an npa-agent VM's attached-service-account metadata profile. --- # VM Nebius Authentication ## Diagnose before starting login For a read-only readiness request, use `npa workbench health preflight --checks nebius --json`; do not start profile creation. A failed identity probe alone does not distinguish missing profile configuration, expired authentication, denied access, or a network failure. Check the selected profile's presence using the installed CLI's profile help and non-secret metadata. Do not dump configuration or token values. Report missing configuration only when established; otherwise leave the cause unknown. Create or recover a human profile only when the user authorizes login. A successful authentication check does not prove resource-creation permissions, quota, or capacity. Preserve attached-service-account profiles on agent VMs. Run on the operator/dev VM: ```bash npa/.venv/bin/npa agent auth-profile \ --ssh-host <operator-vm-host> --ssh-user <operator-vm-user> \ --profile <profile> ``` The command strips ambient IAM-token variables, returns immediately for an already-authenticated profile, or starts `nebius --no-browser` profile creation and its first profile-scoped IAM probe in one PTY (CLI versions may defer OAuth until first use). When the CLI advertises exactly one official HTTPS browser URL and one loopback callback, it prints the URL and an exact local-machine `ssh -N -L` command using the runtime-selected port. Run the tunnel locally before opening the URL. Unsafe, ambiguous, or malformed callbacks fail closed; cancellation and timeout stop the child flow. The browser callback completes the CLI profile. NPA then verifies `iam whoami` and separately verifies that IAM can mint an access token, with command output discarded. Never request, paste, print, log, return, or chat the IAM token. Human interactive authentication is for an operator/dev VM or explicit recovery. Keep the npa-agent VM on its attached service account and `cursor-sa` metadata-token profile by default. Verify changes with: ```bash npa/.venv/bin/python -m pytest \ npa/tests/unit/test_nebius_vm_auth.py \ npa/tests/cli/test_agent_auth_profile.py -q ```