How does it work?
Headless Clients run without a UI in the background. They enable un-attended systems such as servers or container instances to connect to the Appgate SDP system. Stand alone headless Clients are available for Windows, macOS and Linux; these are also embedded by Appgate into the Windows SSO Client, always-on Clients, Kubernetes Injector and Connector.
Once a profile and credentials have been applied to the headless Client, on boot-up the Client will immediately try to sign in to the Controller(s) (and continue to retry if it fails). For this reason it is STRONGLY ADVISED to always have a valid Policy for headless Clients, otherwise the retries will effectively become a DoS attack on the Controllers and consume large amounts of disk space with log warning messages.
Once signed-in, the headless Client will get its own (based on its Policy) to access any permitted resources protected by Appgate SDP and will automatically (try to) establish secure connections with the Gateways. If the headless Client has been installed on a remote server then the Entitlements might include down rules so that users of the Appgate SDP system could access it.
The headless Client does not support auto-update. This can be updated reinstalling in the usual way.
Background information
There are some system limitations which need to be taken into account:
Device on-boarding has to be done from the Appgate SDP headless Client for a user on a specific computer. If this device is already registered (using the normal Appgate SDP Client) the headless Client will fail.
MFA at sign-in is not supported on Appgate SDP headless Client.
The Linux headless Client consists mainly of four components:
AppGate Service - The main client executable that will run in the background and handle all connections.
AppGate Driver - The virtual network adapter.
AppGate Configuration file - Settings file for the parameters required to sign-in.
AppGate Service Configurator - Tool to control the headless client. Requires that the AppGate Service is running.
NOTE
Custom scripted device Claims (formerly on-demand device claims) are not supported on headless Clients.
Installation and Uninstallation
How to install
Run the same commands as for the standard Linux Client but using appgate-sdp-headless_x.y.z... instead of the full client.
Once installed there should be 2 services running; appgatedriver.service and appgateservice.service.
NOTE
You must remove any existing Appgate SDP installation before installing the headless client.
How to uninstall
To uninstall the headless client binaries BUT leave all configurations and settings. Enter:
Ubuntu:
sudo apt remove appgate-headlessFedora:
sudo dnf remove appgate-headlessRHEL8
sudo dnf remove appgate-headless
To uninstall the headless client binaries AND all configurations and settings. use the purge option in the above commands:
remove --purge
How to set (or change) the configuration
The configuration file appgate.conf located in /etc is the way to setup the headless client.

Open the configuration file using a suitable editor such as:
sudo gedit /etc/appgate.conf
DNS
The file provides the option to specify a dns_script if required.
Settings
For log level setting and script timeouts.
(Default: Info) Specify loglevel (Dump, Trace, Debug, Info, Warn, Error, Fatal)
Credentials
Un-comment the required lines and edit the values accordingly
ProfileLink | Specify the Client Profile link to be used. Can be copied from the Client Profiles page. |
Username | Set username to use for sign in with credentials' |
Password | Set password to use for sign in with credentials |
PasswordScriptPath | Path to an executable that can be run by the headless service that will return the password |
AuthenticationCertificatePath | Set the path to the certificate to be used in certificate authentication |
AuthenticationCertificatePassword | Set any password relating to the authentication certificate |
Refer to LDAP Certificate IdP if using certificate authentication.
You can get the current status and/or configuration of the headless client by using the `appgate_service_configurator`.
Service Configurator tool
The Linux appgateservice.service must be running to use this tool.
Open a command prompt and enter:
sudo appgate_service_configurator -h
This will provide a list of available commands (as will using --help).
The configuration tool uses different options to provide specific functionality. Enter
sudo appgate_service_configurator OPTION
OPTION | Action |
|---|---|
getconfig | Displays the current configuration of the Client. |
reload | Will sign out the headless client if connected and reconnect automatically. Useful to try another configuration without having to restart the client service. |
status | Used to get the status of the running service. |
Status message | Description |
Waiting for configuration | Client is waiting to be configured |
Applying the new configuration | Client is applying the configuration and trying to sign in to Appgate SDP. |
Connecting | Client has successfully signed in and is connecting. |
Connected | Client has successfully signed in and is connected. Details of the Entitlements, Gateways and Sites are included. |
Partially Connected | Client has successfully signed in but can only connect to some sites. |
None connected | Client has successfully signed in but can't connect to any site. |
Disconnecting | Client is disconnecting and will soon try to sign in again. |
The configuration tool can be found in: /usr/sbin
Logs
The headless Client daemon logs can be viewed using journalctl -u appgateservice