Remotes are a concept in the LXD command line client which are used to refer to various LXD servers or clusters. A remote is effectively a name pointing to the URL of a particular LXD server as well as needed credentials to login and authenticate the server. LXD has four types of remotes:

  • Static

  • Default

  • Global (per-system)

  • Local (per-user)


Static remotes are:

  • local (default)

  • ubuntu

  • ubuntu-daily

They are hardcoded and can’t be modified by the user.


Automatically added on first use.

Global (per-system)#

By default the global configuration file is kept in either /etc/lxc/config.yml, or /var/snap/lxd/common/global-conf/ for the snap version, or in LXD_GLOBAL_CONF if defined. The configuration file can be manually edited to add global remotes. Certificates for those remotes should be stored inside the servercerts directory (e.g. /etc/lxc/servercerts/) and match the remote name (e.g. foo.crt).

An example configuration is below:

    auth_type: tls
    project: default
    protocol: lxd
    public: false
    auth_type: tls
    project: default
    protocol: lxd
    public: false

Local (per-user)#

Local level remotes are managed from the CLI (lxc) with: lxc remote [command]

By default the configuration file is kept in ~/.config/lxc/config.yml or in LXD_CONF if defined. Users have the possibility to override system remotes (e.g. by running lxc remote rename or lxc remote set-url) which results in the remote being copied to their own configuration, including any associated certificates.