Linux Agent Installation (Beta)
Install, register, update, and remove the AutoElevate Linux agent (beta).
Table of Contents
Overview
The AutoElevate Linux agent provides Elevated Sessions and JIT Admin Log In on Linux workstations and servers. An approved elevated session gives the user full root access through password-free sudo and, on compatible hosts, polkit.
Warning: Ending access does not close programs already running as root or undo changes made as root. Approve access only for users you trust with root.
For requests, approvals, and JIT Admin Log In setup, see Linux Support, Elevated Sessions & JIT Admin Log In (Beta).
Beta: Commands and screens can change before general availability.
New Admin Portal only: Linux computers are enrolled with Enroll Computers in the new Admin Portal. The legacy portal has no Linux installer or install command.
Before You Begin
Check the host requirements
| Requirement | Detail |
| Architecture | amd64 (x86_64) or arm64 (aarch64). One installer supports both. |
| C library | glibc 2.17 or newer. |
| Package manager |
apt-get, dnf, yum, zypper, or pacman. |
| Permission | Root or existing sudo access to install the agent or change the host configuration. |
| Service | systemd for the service commands in this article. |
| Administrator access |
sudo, or polkit 0.106 or newer. An Elevated Session uses whichever the host has and needs at least one. The package does not install sudo. |
| Desktop tray | A panel with StatusNotifierItem support. A desktop is optional: users can run aeagentd in a terminal. |
| JIT Admin Log In | A local sudo or wheel group in /etc/group. The agent offers sudo when both exist. JIT Admin Log In over SSH needs OpenSSH 8.7 or newer, for example Ubuntu 22.04, Debian 12, RHEL 9, and later releases. |
Tested systems: AutoElevate has tested default installs of Ubuntu 26.04, 20.04, 18.04, and 16.04; Debian 11, 10, and 9; Rocky Linux 8; openSUSE Leap 15.3 and 15.2; CentOS 7; Amazon Linux 2; SLES 12 SP5; and Arch Linux. Other distributions with glibc 2.17 or newer may work. Hardened or locked-down setups and Windows Subsystem for Linux (WSL) have not been tested. Report problems to CyberFOX Support.
Get the registration details
In the Admin Portal, select Enroll Computers at the top of Settings or Computers. Copy License Key is on its Installer and RMM Script tabs. Get the company and location names for the computer. Enrollment creates a company or location that does not exist yet.
Allow outbound HTTPS
Allow outbound TCP port 443 to these hosts. The agent requires no inbound network port.
| Purpose | Host |
| Registration | mercury.autoelevate.com |
| Configuration | voyager.autoelevate.com |
| Requests and session actions | apollo.autoelevate.com |
| Installer and update downloads | autoelevate-installers-production.s3.us-east-1.amazonaws.com |
The API base URLs are built into the agent. They cannot be changed in agent.conf.
Installing from the Admin Portal
Open Enroll Computers from the top of Settings or Computers, or from a location's row menu or page. When you open it from a location, that location is already picked.
1. Select Install Command.
2. Select the company and location. Pick one from the list or search for it. Users who can add companies and locations can also type a company and location name; enrollment creates them if they do not exist.
3. Select Linux Agent, then Copy Install Command.
4. Run the command on the host as a user with sudo access.
The license key is masked on screen but included in the copied command. The command downloads the installer to a temporary directory, passes the license key on standard input, installs and registers the agent with that company and location, and removes the temporary directory.

Warning: The copied command contains your license key. Protect deployment scripts and logs that contain it.
For a manual installation, open the Installer tab. Select Download Installer on the Linux row, which shows the current Linux version, or Copy Link. Save or rename the file as autoelevate-agent.sh. Use Copy License Key to copy the key the installer asks for.

You can also download the installer with:
curl -fL -o autoelevate-agent.sh https://apollo.autoelevate.com/api/agentBuilds/latest/download/linuxThe download URL requires no credentials. Save the installer to disk; it cannot run from a pipe. Then follow Run the installer below.
For RMM deployment, the RMM Script tab links to the RMM deployment guides and has Copy License Key.
Installing the Agent
Run the installer
Skip this step if you used the portal's install command. On a new install, the installer also registers the agent. Run it in a terminal; it asks for the company, location, and license key. The key is not displayed.
sudo sh ./autoelevate-agent.shTo give the names on the command line, use --company and --location. The installer then asks only for the license key:
sudo sh ./autoelevate-agent.sh --company '<COMPANY NAME>' --location '<LOCATION NAME>'The installer checks all three values before it changes the host. The company and location cannot contain a line break.
The installer checks its payload's SHA-256 checksum, selects the native package for the architecture and package manager, installs it, starts the systemd service, and registers the agent.
On a host that is already registered (/etc/autoelevate/agent.conf is not empty), the installer upgrades the agent and keeps the registration. It ignores --company and --location and says so.
To unpack all six packages without installing, use sh ./autoelevate-agent.sh --extract '<DIRECTORY>'. Replace <DIRECTORY> with the output directory. To display usage, use sh ./autoelevate-agent.sh --help. After --extract, install a package by hand, then register it with aeagentd register.
If the installer stops
Installer check failures use AutoElevate installer:. Invalid arguments print usage instead.
| Message | Cause and fix |
| installing needs root: sudo sh <file> | Not run as root. Re-run with sudo. |
| unsupported architecture '<machine>'; amd64 and arm64 are bundled | The host is neither x86_64 nor aarch64. Not supported. |
| no supported package manager found (apt-get, dnf, yum, zypper or pacman) | None of the five package managers is on the path. Not supported. |
| payload checksum mismatch; the file is corrupt or truncated | The download is damaged or incomplete. Download it again. |
| run this file from disk, not from a pipe | The script was piped into a shell (curl … | sh). Save it to disk first, then run it. |
| missing company, missing location, or missing license key, followed by usage text | A required value was not given. Supply it on the command line or at the prompt. In a script, pipe the license key in. |
| --company and --location cannot hold a line break | A name contains a line break. Correct the name and run the installer again. |
| <tool> is missing; install it and retry | A required tool is not installed: tail, sha256sum, cut, tar, gzip, or timeout when the key is piped in. Install it and run the installer again. |
| the agent is installed, but aeagentd register failed (above). | The package is installed but registration failed. Fix the error shown above it, then run sudo aeagentd register --company '<COMPANY NAME>' --location '<LOCATION NAME>'. |
| Usage text on standard error | Invalid arguments. Check the command line. --extract requires a directory. |
If the package manager reports an error, read that error for the cause. The package requires glibc 2.17 or newer.
Registering the Agent
The installer registers a new install. Use aeagentd register to register a package you installed by hand, such as after --extract, or to change the company or location.
Interactive registration
1. Register the agent with the target company and location:
sudo aeagentd register --company '<COMPANY NAME>' --location '<LOCATION NAME>'2. At the license-key prompt, paste the key and press Enter. The key is not displayed. A successful registration prints Registered AutoElevate Linux agent as computerId ….
The command restarts the agent service so it loads the registration. If the restart fails, it reports autoelevate-agent.service did not restart; fix it, then run: systemctl restart autoelevate-agent.service.
Unattended registration
For an RMM, use the command from the Install Command tab of Enroll Computers. To register an agent you have already installed, pass the key on stdin:
printf '%s\n' '<KEY>' | sudo aeagentd register --company '<COMPANY NAME>' --location '<LOCATION NAME>'Replace all three placeholders. The company, location, and license key must be non-empty. Protect commands and scripts that contain the key.
Registration writes /etc/autoelevate/agent.conf, owned by root with mode 0600. The file is kept.
What the Installer Places on the Host
| Path or item | Purpose |
/usr/libexec/autoelevate/aeagentd, linked as /usr/bin/aeagentd
|
Agent service and command-line tool. |
/usr/bin/ae-tray and /etc/xdg/autostart/autoelevate-tray.desktop
|
Desktop tray and its autostart entry. |
/usr/lib/autoelevate/pam_autoelevate.so and /etc/pam.d/autoelevate
|
JIT Admin Log In module and PAM configuration. |
/usr/lib/systemd/system/autoelevate-agent.service |
Service unit. |
/etc/ssh/sshd_config.d/00-autoelevate-jit-admin.conf |
Enables keyboard-interactive SSH for the autoelevate-jit group only. |
autoelevate-jit and autoelevate-jit-refused
|
Groups used to identify managed accounts and account-name conflicts. The groups grant no administrator rights. |
/etc/autoelevate/agent.conf |
License key, company, and location. Registration writes it as root with mode 0600. |
/etc/autoelevate/pam-services |
Saved list of PAM services. Upgrades reuse it. |
/etc/autoelevate/jit-admin-users |
Daemon-written account list used by the PAM guards. |
/var/lib/autoelevate/ |
Computer identity, session records, and update staging. |
/run/autoelevate/agent.sock |
Local connection for the CLI, tray, and PAM module. |
/etc/sudoers.d/50-autoelevate-* and /etc/polkit-1/rules.d/49-autoelevate-*
|
Rules written while AutoElevate grants administrator access. |
| JIT Admin account and home directory | Created when JIT Admin Log In is enabled. The password is locked. The account is expired when JIT access is inactive. |
Choose the login services
The installer adds marked blocks to existing PAM files for sshd, login, lightdm, gdm-password, and sddm. To use a different list, pass AE_PAM_SERVICES when you install:
sudo env AE_PAM_SERVICES="sshd login" sh ./autoelevate-agent.shThe installer saves the list in /etc/autoelevate/pam-services. Upgrades and automatic updates reuse it. To change it, pass a new AE_PAM_SERVICES value when you install a newer version. AutoElevate removes its blocks from services the new list excludes. Uninstall removes all AutoElevate blocks and the saved list.
Confirming the Installation
1. Check the service:
systemctl status autoelevate-agent2. Check the connection and version:
aeagentd status
aeagentd versionThe backend: line reads connected when the agent is registered and signed in. The elevated: line reports the user who runs the command.
3. In the Admin Portal, open Computers and confirm the host appears under the intended company and location.
4. On a desktop, click the tray icon or run aeagentd to test a request. On a server, run aeagentd in a terminal.

Upgrading and Uninstalling
Upgrading
AutoElevate offers updates according to the computer's Agent Update Channel. The agent downloads the offered build, verifies its SHA-256 checksum, and installs it through the host's package manager. You can also run a newer installer manually.
Upgrades keep agent.conf, the computer's registration, the saved PAM service list, and active Elevated Sessions. An upgrade restarts the agent and ends JIT administrator rights for open logins. Technicians must log in again with a new approval.
Uninstalling
Remove the package with the host's package manager:
sudo apt remove autoelevate-agent # Debian, Ubuntu
sudo dnf remove autoelevate-agent # RHEL, Fedora
sudo yum remove autoelevate-agent # yum-based hosts
sudo zypper remove autoelevate-agent # SUSE
sudo pacman -R autoelevate-agent # ArchUninstalling stops and disables the service, removes AutoElevate's block from every PAM stack that carries it, removes the SSH setting file and the autoelevate-jit group, revokes any rights the agent had granted, and clears the agent's local state.
Uninstall keeps /etc/autoelevate/agent.conf and the JIT accounts with their home directories. The accounts are expired and their passwords remain locked. Existing processes are not ended. Local package removal does not delete the computer from the Admin Portal.
Keeping agent.conf lets a reinstall register again. Whether that registration reuses an existing portal record depends on Computer Identity Matching.
When decommissioning the host, remove the package first. Back up any files you need, end the JIT accounts' remaining processes, and delete the unused accounts and their home directories. Remove /etc/autoelevate/, /var/lib/autoelevate/, and /var/log/autoelevate/ if you no longer need their contents. Delete the computer record in the Admin Portal.
Troubleshooting
The installer stops
Use the messages under If the installer stops. For a package-manager error, use the error reported by that package manager.
The service stops or cannot connect
Read the service log:
sudo journalctl -u autoelevate-agent -fIf the log reports permissions on agent.conf, correct them:
sudo chown root:root /etc/autoelevate/agent.conf
sudo chmod 600 /etc/autoelevate/agent.conf
sudo systemctl restart autoelevate-agentRun aeagentd status. If backend: says not configured; run aeagentd register, complete registration. If it says configured, not registered yet or registered, not connected, use the service log to diagnose registration or connectivity before registering again.
Registration rejects the location
Supply a non-empty --location value. The CLI reports register needs a non-empty --location when that flag is empty. A location that does not exist under the company is created during registration.
For tray, request, and login problems, see Troubleshooting in Linux Support, Elevated Sessions & JIT Admin Log In (Beta).