Documentation
Remote SSH deploy
Push the agent to a Linux asset from its asset page over SSH, with optional GPU telemetry, and follow each step until it enrolls.
Overview
Remote deploy installs the agent on a Linux asset without you logging in to it. From the asset page, you pick an SSH credential; DeviceQuest issues a short-lived bootstrap credential, connects to the asset over SSH, runs the install, and waits until the new agent enrolls and sends its first heartbeat. Use it to add agents to hosts you already scan over SSH.
The Deploy agent button appears on the asset page for administrators. Starting a deployment also needs the scans:write permission.
Before you start
- The asset has an IP address or a host name. DeviceQuest connects to the IP address first, then the host name.
- An SSH scan credential that can log in to the asset. See Scan credentials.
- The SSH user can run
sudo:- with a password credential, DeviceQuest passes the same password to
sudo, so no extra sudo setup is needed; - with a private key credential, the user needs passwordless sudo (
NOPASSWD).
- with a password credential, DeviceQuest passes the same password to
- The asset can reach your DeviceQuest URL, to download the agent, and the agent gateway.
- Your control plane has
DEVICEQUEST_PORTAL_URL(the URL assets download the agent from) andDEVICEQUEST_AGENT_GATEWAY_ADVERTISE_ADDR(the gateway address agents dial) set. See CLI reference.
Screen tour
- Operating system: Linux or Windows. The dialog picks the asset’s operating system for you. For a Windows asset, it points you to Admin → Enroll Agent (Windows), where you copy the PowerShell install command.
- SSH credential: the SSH scan credential used to log in to the asset. The list shows only SSH credentials. If you have none, it reads No SSH credentials — add one under Scanning.
- Enable GPU telemetry: makes the new agent report GPU telemetry. On by default.
- Telemetry interval (seconds): how often the agent reads its GPUs. Minimum 5, default 15. Shown only when GPU telemetry is on.
- Deploy: starts the deployment. It is disabled until you choose an SSH credential.
Deploy the agent
- Open the asset in Asset Inventory.
- Click Deploy agent in the asset header.
- Check that Operating system is Linux.
- Choose the SSH credential.
- Leave Enable GPU telemetry on and set the Telemetry interval (seconds), or clear the box.
- Click Deploy.
The dialog switches to a progress list and checks the deployment every 3 seconds. Working… this can take up to ~90s. The steps are:
| Step | What happens |
|---|---|
| Issue credential | DeviceQuest issues a bootstrap credential named deploy-<asset ID>, valid for 30 minutes. |
| Connect (SSH) | DeviceQuest loads the SSH credential from the vault. |
| Install agent | DeviceQuest connects to the asset over SSH, downloads the agent from <portal URL>/downloads/agent-linux-amd64, stops any running agent, and runs devicequest-agent install with the gateway, -mode hybrid, the bootstrap credential and, when on, -gpu-telemetry-interval. |
| Enroll + heartbeat | DeviceQuest waits up to 90 seconds for the new agent to enroll and send a heartbeat. |
Each step shows ○ (waiting), … (running), ✓ (done) or ✗ (failed), with a detail line when there is one.
When all steps succeed, the dialog shows Agent deployed and enrolled. Click Done. The asset page reloads, and the agent appears in Admin → Host Agents.
The agent installed this way is the same as one installed by hand: the devicequest-agent systemd service described in Install on Linux.
Deployment statuses
| Status | Meaning | Next possible status |
|---|---|---|
| pending | The deployment is recorded and about to start. | running |
| running | A step is in progress. | succeeded, failed |
| succeeded | The agent enrolled and sent a heartbeat. | — |
| failed | A step failed. The dialog shows the reason. | — |
If a deployment fails
The failed step is marked ✗ and the dialog shows the error. Click Cancel to close it, fix the cause, and deploy again.
| Error | Cause and fix |
|---|---|
credential_id required | Choose an SSH credential. |
asset not found or has no host | The asset has no IP address or host name. Add one, or scan the asset first. |
remote deploy not configured: set DEVICEQUEST_PORTAL_URL and DEVICEQUEST_AGENT_GATEWAY_ADVERTISE_ADDR | Ask your DeviceQuest operator to set both control-plane settings. |
resolve credential: … | The SSH credential could not be read. Check it under Scan Credentials. |
ssh install: … | SSH login failed or the connection dropped. Check the credential, the port and that the asset accepts SSH from the control plane. |
install exited <code>: … | The install script failed on the asset, for example because sudo needs a password for a key-based login, or the asset cannot download the agent. |
agent did not enroll/heartbeat within timeout | The agent was installed but did not reach the gateway in 90 seconds. Check that the asset can reach the gateway address, then look at journalctl -u devicequest-agent on the asset. |
Related pages
- Install on Linux
- Scan credentials
- Agent overview
- Asset details
- Administration → Host agents