By default, SFTP uses keypair authentication for access. We generate the keypair and provide you with the public key to register on a user on your SFTP server. The private key is securely generated and stored in our system and is never shared externally.

## Step 1: locate your public key

Locate the public key provided to you. The public key will look roughly like this:

```shell
ssh-rsa <ssh_public_key_beginning_with_AAAA> some-comment
```

You will register this public key on the SFTP user you create in Step 2. Reach out to your account representative if you have not been provided a public key.

## Step 2: create a user on the SFTP server

Log in to the SFTP server and complete the steps below.

1. Create the `sftpreader` group.

```shell
sudo groupadd sftpreader
```

2. Create the `sftpreader` user.

```shell
sudo useradd -m -g sftpreader sftpreader
```

3. Switch to the `sftpreader` user, create the `.ssh` directory, and set its permissions.

```shell
sudo su - sftpreader
mkdir ~/.ssh
chmod 700 ~/.ssh
```

4. Create the `authorized_keys` file and set its permissions.

```shell
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
```

5. Add the public key from Step 1 to the `authorized_keys` file. The key, including the `ssh-rsa` prefix and comment, should be all on one line in the file, without linebreaks.

```shell
echo "ssh-rsa <ssh_public_key_beginning_with_AAAA> sftpreader-public-key" >> authorized_keys
```

6. Ensure the `sftpreader` user has read access to the directory that contains the files you want to sync.

> 📘 **IP restrictions**
>
> The SFTP protocol encrypts files in transit. Allow the static IP to connect on your SFTP port (usually `22`) at your firewall or network perimeter. Reach out to your account representative for the static IP address to use.

## Step 3: submit your connection details

Provide the following details to complete the source setup:

1. The **name** is a descriptive name of the source.
2. The **host** of your SFTP server.
3. The **port** (most likely `22`).
4. The **username** from Step 2.