# Linux Installation Guide

### Overview

This guide describes how to install StrongDM on your Linux machine. In a Linux environment, StrongDM consists of a command-line interface (CLI). You may be able to run some CLI commands without a complete installation. If you wish to use StrongDM in this way, check the [Run Without Installation](#run-without-installation) section.

{% hint style="info" %}
If you intend to use StrongDM with Windows Subsystem for Linux (WSL) please see the [WSL](/users/client/wsl.md) page for more information.
{% endhint %}

{% embed url="<https://www.youtube.com/embed/RZbGv02WurU>" %}

### Install StrongDM

Use the following steps to install the StrongDM CLI on your Linux machine. The StrongDM Desktop application is not currently available for Linux.

{% tabs %}
{% tab title="US" %}

1. Open the invitation email you received for your StrongDM account.
2. Click the link included in the email to set your password.
3. Log in to StrongDM and go to the **Download & Install** page in the Admin UI.
4. Under **Linux**, click **Download StrongDM for Linux** to start the download immediately, or click **Show download options** to select the appropriate option for your architecture. StrongDM for Linux is available for x86-64, x86-64 (Static), and ARM64 architectures. You may also download the package directly. In this example, we will use the curl method to get the AMD64 binary (for an x86-64 architecture) and complete the download. Open a terminal and download the Linux binary:

   ```sh
   curl -J -O -L https://app.strongdm.com/releases/cli/linux
   ```

   For an ARM-based architecture, you must use the [Release endpoint](/admin/clients/release-endpoint.md) with parameters to download an ARM64 binary:

   ```sh
   curl -s 'https://app.strongdm.com/release?software=sdm-cli&os=linux&arch=arm64'
   ```
5. Optionally, check that the downloaded binary is legitimate and verify the checksum:

   ```shell
   $ sha256sum sdmcli_40.87.0_linux_amd64.zip
   3c0bd7ede828b93b3dfbd243330d4f7ee531c95940adc108bd3e53680dc81fb3 sdmcli_40.87.0_linux_amd64.zip
   ```

   The checksum should match the value in the **SHA256 Checksum** section of the Admin UI **Download & Install** page.
6. Unzip the file:

   ```sh
   unzip sdmcli_<VERSION_NUMBER>_linux_amd64.zip
   ```
7. Follow instructions provided by the install command, which must be executed using `sudo`:

   ```sh
   sudo ./sdm install --app-domain app.strongdm.com
   ```
8. After executing `sdm install`, you can find StrongDM in `/opt/strongdm` and a symlink to the binary in `/usr/local/bin`. Next, ensure that the sdm binary is usable from the CLI:

   ```sh
   sdm --version
   ```
9. Go to the [CLI Reference](/references/cli.md) to learn how to connect to different resources, such as datasources and servers.
   {% endtab %}

{% tab title="UK" %}
*Follow instructions in the tab for the region of your organization's StrongDM control plane, not your own location. The default control plane region is US.*

1. Open the invitation email you received for your StrongDM account.
2. Click the link included in the email to set your password.
3. Log in to StrongDM and go to the **Download & Install** page in the Admin UI.
4. Under **Linux**, click **Download StrongDM for Linux** to start the download immediately, or click **Show download options** to select the appropriate option for your architecture. StrongDM for Linux is available for x86-64, x86-64 (Static), and ARM64 architectures. You may also download the package directly. In this example, we will use the curl method to get the AMD64 binary (for an x86-64 architecture) and complete the download. Open a terminal and download the Linux binary:

   ```sh
   curl -J -O -L https://app.strongdm.com/releases/cli/linux
   ```

   For an ARM-based architecture, you must use the [Release endpoint](/admin/clients/release-endpoint.md) with parameters to download an ARM64 binary:

   ```sh
   curl -s 'https://app.uk.strongdm.com/release?software=sdm-cli&os=linux&arch=arm64'
   ```
5. Optionally, check that the downloaded binary is legitimate and verify the checksum:

   ```shell
   $ sha256sum sdmcli_40.87.0_linux_amd64.zip
   3c0bd7ede828b93b3dfbd243330d4f7ee531c95940adc108bd3e53680dc81fb3 sdmcli_40.87.0_linux_amd64.zip
   ```

   The checksum should match the value in the **SHA256 Checksum** section of the Admin UI **Download & Install** page.
6. Unzip the file:

   ```sh
   unzip sdmcli_<VERSION_NUMBER>_linux_amd64.zip
   ```
7. Follow instructions provided by the install command, which must be executed using `sudo`:

   ```sh
   sudo ./sdm install --app-domain app.strongdm.com
   ```
8. After executing `sdm install`, you can find StrongDM in `/opt/strongdm` and a symlink to the binary in `/usr/local/bin`. Next, ensure that the sdm binary is usable from the CLI:

   ```sh
   sdm --version
   ```
9. Go to the [CLI Reference](/references/cli.md) to learn how to connect to different resources, such as datasources and servers.
   {% endtab %}

{% tab title="EU" %}
*Follow instructions in the tab for the region of your organization's StrongDM control plane, not your own location. The default control plane region is US.*

1. Open the invitation email you received for your StrongDM account.
2. Click the link included in the email to set your password.
3. Log in to StrongDM and go to the **Download & Install** page in the Admin UI.
4. Under **Linux**, click **Download StrongDM for Linux** to start the download immediately, or click **Show download options** to select the appropriate option for your architecture. StrongDM for Linux is available for x86-64, x86-64 (Static), and ARM64 architectures. You may also download the package directly. In this example, we will use the curl method to get the AMD64 binary (for an x86-64 architecture) and complete the download. Open a terminal and download the Linux binary:

   ```sh
   curl -J -O -L https://app.strongdm.com/releases/cli/linux
   ```

   For an ARM-based architecture, you must use the [Release endpoint](/admin/clients/release-endpoint.md) with parameters to download an ARM64 binary:

   ```sh
   curl -s 'https://app.eu.strongdm.com/release?software=sdm-cli&os=linux&arch=arm64'
   ```
5. Optionally, check that the downloaded binary is legitimate and verify the checksum:

   ```shell
   $ sha256sum sdmcli_40.87.0_linux_amd64.zip
   3c0bd7ede828b93b3dfbd243330d4f7ee531c95940adc108bd3e53680dc81fb3 sdmcli_40.87.0_linux_amd64.zip
   ```

   The checksum should match the value in the **SHA256 Checksum** section of the Admin UI **Download & Install** page.
6. Unzip the file:

   ```sh
   unzip sdmcli_<VERSION_NUMBER>_linux_amd64.zip
   ```
7. Follow instructions provided by the install command, which must be executed using `sudo`:

   ```sh
   sudo ./sdm install --app-domain app.strongdm.com
   ```
8. After executing `sdm install`, you can find StrongDM in `/opt/strongdm` and a symlink to the binary in `/usr/local/bin`. Next, ensure that the sdm binary is usable from the CLI:

   ```sh
   sdm --version
   ```
9. Go to the [CLI Reference](/references/cli.md) to learn how to connect to different resources, such as datasources and servers.
   {% endtab %}
   {% endtabs %}

### Troubleshooting installation

If you have any issues during installation, consider the following:

* The installer must be run by a user that exists in the `/etc/passwd` file. Any users remotely authenticated, such as with LDAP or an SSO service, may fail to complete the installation.
* If you are installing with Fedora Linux, use the `-E` flag to preserve the user environment. This is necessary due to the way Fedora handles `sudo`.
* If you are attempting to set up a relay rather than a client, see [Relays](/admin/networking/gateways-and-relays.md).

### Run Without Installation

Once you have [downloaded and unzipped](#install-strongdm) StrongDM, you can run certain commands without completing a full installation.

For instance, to run `sdm audit` or `sdm admin` commands, you can provide an [admin token](/admin/principals/admin-tokens.md) in the `SDM_ADMIN_TOKEN` environment variable. However, connecting to datasources or servers requires a running SDM daemon, so we suggest running the full installation:

{% tabs %}
{% tab title="US" %}

```sh
curl -J -O -L https://app.strongdm.com/releases/cli/linux
```

{% endtab %}

{% tab title="UK" %}
*Follow instructions in the tab for the region of your organization's StrongDM control plane, not your own location. The default control plane region is US.*

```sh
curl -J -O -L https://app.uk.strongdm.com/releases/cli/linux
```

{% endtab %}

{% tab title="EU" %}
*Follow instructions in the tab for the region of your organization's StrongDM control plane, not your own location. The default control plane region is US.*

```sh
curl -J -O -L https://app.eu.strongdm.com/releases/cli/linux
```

{% endtab %}
{% endtabs %}

The output is similar to:

```bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100   128  100   128    0     0    384      0 --:--:-- --:--:-- --:--:--   384
100 6733k  100 6733k    0     0  2896k      0  0:00:02  0:00:02 --:--:-- 3435k
curl: Saved to filename 'sdmcli_40.87.0_linux_amd64.zip'
$ unzip sdmcli_40.87.0_linux_amd64.zip
Archive:  sdmcli_40.87.0_linux_amd64.zip
  inflating: sdm
$ export SDM_ADMIN_TOKEN=<token here>
$ ./sdm audit users
User ID,Email,First Name,Last Name,Role ID,StrongDM Permission,Role Name
1111,user1@organization.com,User,One,0,user,,{},[],0
2222,user2@organization.com,User,Two,,10011,admin,Engineers,{},[],0
3333,user3@organization.com,User,Three,10011,admin,Engineers,{},[],0
```

### Recommended Reading

For detailed information on how to use the CLI, please see the [CLI Reference](/references/cli.md) documentation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.strongdm.com/users/client/linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
