CLI reference
Every command and flag on the four aethercert command-line binaries: the installer, the fleet agent, the CA connector and the Update Service.
Four binaries take a command line. In normal use you only ever run the first, with the command the dashboard gives you; the rest exist for manual setups, scripted rollout and recovery.
| Binary | What it is |
|---|---|
aethercert-installer | Installs, repairs and removes everything else. The only one you normally invoke. |
aethercert-agent | The fleet agent - issues, deploys and renews certificates. |
aethercert-ca-connector | Windows only. Answers sign and revoke requests against a local CA. |
aethercert-update-service | Checks for and applies updates to the two above. |
Run any of them with no arguments, or with --help, for its own usage text. On Windows,
running aethercert-installer with no arguments opens the graphical setup window instead.
aethercert-installer
aethercert-installer install --api <url> --token <token> [options]
aethercert-installer repair [options]
aethercert-installer uninstall [--all | --agent --connector --update-service] [--purge]
aethercert-installer status
aethercert-installer gui
aethercert-installer versioninstall enrolls with a one-time token, downloads whichever component the token was
minted for - that is decided in the dashboard, not on the command line - and registers and
starts it as an operating-system service, alongside the shared tray icon and the Update
Service. Run it as Administrator on Windows or with sudo on Linux. It prints the
resolved config path and binary path on stdout when it finishes.
Common
| Flag | What it does |
|---|---|
--api <url> | Control plane base URL. HTTPS only. Required. |
--token <token> | The one-time token from the dashboard. Required. |
--config <path> | Absolute path for the component's config.json. A relative path is rejected. |
--lang en|de | Language for this command's own output. Defaults to the system language. |
--quiet | Print warnings and failures only. |
Windows service
| Flag | What it does |
|---|---|
--service-account <user> | Run as this account instead of LocalSystem. Accepts CORP\user, .\user, user@corp, or a gMSA name ending in $. |
--service-password <pw> | Password for that account. Not needed for a gMSA. |
--manual-start | Register without auto-start. |
--no-start | Register without starting it now. |
With --service-account, the installer grants that account Log on as a service,
verifies the credentials work as a service logon before creating the service, and waits
for the service to report running afterwards. A wrong password, a disabled account or a
Deny log on as a service policy is reported as exactly that rather than as a generic
start failure. The password never reaches a log line or an error message.
Fleet agent
| Flag | What it does |
|---|---|
--check-in-interval <s> | Fallback idle check-in interval, 10-10800 seconds. Only a pre-enrollment fallback - the real cadence comes from the control plane on every heartbeat. |
CA connector
| Flag | Default | What it does |
|---|---|---|
--public-url <url> | Derived from the host's FQDN | Where fleet agents reach this host. |
--listen <addr> | :8443 | Local listen address. |
--ca-config <name> | Auto-detected if there is exactly one | The certreq/certutil -config target, <CAHostName>\<CAName>. |
--template <name> | WebServer | Certificate template to issue against. |
--tls-cert / --tls-key | The host's CA issues one | Your own listener certificate. |
--no-firewall-rule | Rule is added | Do not open the listen port inbound. |
Companions
| Flag | What it does |
|---|---|
--no-tray | Do not install the shared tray icon. |
--no-update-service | Do not install the Update Service. This host then never updates itself. |
repair re-registers the services, refreshes the Apps & Features entries and reinstalls
the tray icon and Update Service, using the credentials already on the host - no token
needed. Takes --component agent|ca_connector, --redownload to also replace the
binaries with the current build, and the --no-*, --lang and --quiet flags above.
uninstall stops and removes the selected components. --purge also deletes the
binaries, configuration and logs; without it a later install reuses this host's existing
enrollment. Name what to remove: --all, or any of --agent, --connector,
--update-service.
status prints what is installed on this host - component, version, service state, binary and config paths and whether each exists, and the control plane it points at - and exits 0 either way, which makes it safe as a configuration-management check.
aethercert-agent
aethercert-agent enroll --api <url> --token <token> [--config <path>]
aethercert-agent run [--config <path>]
aethercert-agent uninstall
aethercert-agent versionFor manual setups only - a container, or your own process supervisor. enroll writes
configuration without registering a service; run runs in the foreground, or under the
Windows SCM or systemd if a service was registered. It exits cleanly on SIGTERM and
Ctrl+C.
uninstall stops and removes the service, leaving the binary and configuration in place.
On Windows it also removes the Apps & Features entry - this is exactly what clicking
Uninstall there runs.
Running the agent directly means updating it yourself
The agent never checks for or applies its own updates. Without the Update Service on the
host, aethercert-agent run stays on whatever build you put there.
aethercert-ca-connector
aethercert-ca-connector enroll --api <url> --token <token> --public-url <url> --ca-config <name> [options]
aethercert-ca-connector run [--config <path>]
aethercert-ca-connector preflight [--config <path>]
aethercert-ca-connector uninstall
aethercert-ca-connector versionWindows only. Run enroll as Administrator, on the CA server itself, using an account
with Issue and Manage Certificates on the CA and Enroll on the template.
| Flag | Required | Default |
|---|---|---|
--api <url> | Yes | |
--token <token> | Yes | One-time pairing token from Manage > Certificate Authorities > Connector |
--public-url <url> | Yes | Where this host is reachable from fleet agents on your internal network |
--ca-config <name> | Yes | <CAHostName>\<CAName> |
--template <name> | No | WebServer |
--listen <addr> | No | :8443 |
--tls-cert / --tls-key | No | The host's own CA issues one; failing that, a persisted self-signed certificate |
--config <path> | No | Platform default |
enroll pairs without installing a service, and has no --service-account option of its
own - that flag lives on aethercert-installer install. Afterwards, register the service
with aethercert-installer repair --component ca_connector (which does take
--service-account / --service-password) or by hand with sc.exe create ... obj= ...,
and separately run aethercert-update-service install for automatic updates.
preflight runs a read-only readiness check - service account, Windows service, CA
reachability, template issuable status and permissions - and prints OK or the exact step
still needed for each. It changes nothing and exits non-zero only when the connector
cannot issue as configured. See
The CA connector.
aethercert-update-service
aethercert-update-service install
aethercert-update-service run
aethercert-update-service update --agent | --connector
aethercert-update-service uninstall
aethercert-update-service versioninstall copies the binary to the standard location and registers a service, always as
LocalSystem on Windows. Order does not matter - installed before the agent, it simply has
nothing to update yet. It reads the same on-disk config.json the agent or connector
already wrote, so no separate enrollment is needed.
update --agent or --connector downloads and applies whatever build the control plane
currently has for that component, skipping the auto-update gate but not the verification.
This is the manual path for a host pinned to its current version; the agent's settings page
shows this exact command when automatic updates are off. It does not require the service
itself to be installed or running.
The tray
aethercert-tray takes no command line. It is Windows-only, embedded in the installer, and
launched for the logged-in user. Its menu offers Check for updates, Open logs,
Sync now and Quit - each scoped to whichever backends are present on the host, and
as a submenu when both the agent and the connector are. Quit exits the tray only; the
services keep running.
Exit codes
Every command exits 0 on success and 1 on failure, with two deliberate exceptions:
aethercert-installer statusalways exits 0, so "nothing installed" is not indistinguishable from a real failure.aethercert-ca-connector preflightexits non-zero only when the connector genuinely cannot issue - a check it could not confirm either way is a warning, not a failure.
An install that finishes with warnings - an optional companion that could not be installed
- still exits 0 and says how many warnings there were and where the log is.
CA health and hardening
What the CA connector reports about the certificate authority it fronts - CRL freshness, CDP reachability, key strength, ESC6 - and the hardening checklist beside it.
File locations
Where every binary, configuration file, log and script lives on a managed host, per platform, plus the service names.