Using AxonOS/Using the Platform/SSH-only sessions

SSH-only sessions

An AxonOS session can run in headless SSH mode: no X desktop, no browser viewer, just a GPU shell you connect to over standard SSH. This is useful for scripted workloads, CI pipelines, remote development, and AI agents that don't need a graphical desktop.

Connecting

After a hosted session starts in SSH mode, its session card displays the complete command. Copy that exact command; it contains the port assigned to this session:

bash
ssh -p <assigned-port> aXonian@axonconsole.io

axonconsole.io is the hosted service's public SSH hostname, not a website or dashboard. The port is assigned per session and can change after release or relaunch, so do not assume a fixed port will work.

Host key on first connect

Compare the fingerprint shown by AxonOS, then use -o StrictHostKeyChecking=accept-new on first connection. Persistent host-key tracking lets an unexpected change be surfaced on reconnect.

How it differs from a desktop session

Desktop sessionSSH-only session
InterfaceBrowser noVNC viewerTerminal over SSH
X11 / XFCERunningDisabled
GPU accessYes (via VirtualGL)Yes (nvidia-smi, CUDA, etc.)
Science templatesAuto-launchedNot applicable
AuthenticationWallet sign + creditsWallet sign + credits or x402
Best forInteractive GPU desktopScripts, pipelines, AI agents

The container still has all the same GPU hardware, drivers, and scientific software — only the graphical stack is inactive.

After provisioning, the session card shows connection details and offers a secure browser terminal. Direct SSH also supports SFTP and port forwarding. Self-hosting operators configure their own public hostname and port range; axonconsole.io applies only to the hosted service.

GPU workloads over SSH

Once connected, the GPU is accessible via CUDA directly:

bash
nvidia-smi -L                        # list attached GPUs
python3 -c "import torch; print(torch.cuda.is_available())"
gmx -version                         # GROMACS available
nextflow -version                    # Nextflow available

Run any compute job as you would on a local machine. Billing is identical to a desktop session — wall-clock minutes × GPU count — and billing stops when you release the session.

Starting an SSH session as a human user

Enable SSH in the hosted launch wizard and provide your SSH public key. When the gate returns ssh_host, ssh_port, and ssh_user, use the exact generated command and the matching private key. Self-hosted availability remains operator-configurable.

Starting an SSH session as an agent (x402)

AI agents can claim SSH sessions without a browser wallet by using the x402 payment rail. See Agentic access via x402 for the full flow — the agent:

  1. GETs the discovery endpoint to find the payment requirements.
  2. Pays with USDC via the official x402 SDK (no gas, no EOA interaction by the agent operator).
  3. POSTs to /api/x402/session with the agent's SSH public key.
  4. Receives ssh_host, ssh_port, ssh_user and connects.
bash
# After the agent receives the session credentials:
ssh -i ./agent_key -p <PORT> -o StrictHostKeyChecking=accept-new aXonian@axonconsole.io \
  'nvidia-smi -L && python3 -c "print(\"agent workload complete\")"'

Releasing a session

Release the session when done so GPUs are freed and billing stops:

bash
# Via the gate API (auth_token received at session claim time):
curl -X POST https://app.axonos.io/api/release \
  -H "Content-Type: application/json" \
  -d '{"auth_token": "<YOUR_AUTH_TOKEN>"}'

Closing the SSH connection alone does not stop billing — the container keeps running until explicitly released. Always release when your workload is done.

The runtime cap is renewed while an authenticated SSH connection remains active. If an extension attempt fails, the UI reports the outcome explicitly; do not assume it succeeded. Use Relaunch to change between SSH and desktop modes—this ends the current container and starts the other mode against the same persistent home volume.