---
title: "Cyberduck"
sidebar_label: "Cyberduck"
sidebar_position: 5
description: "How to connect to storage and use it via the Cyberduck file manager graphical or console client"
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import GrantAccess from '@site/i18n/en/docusaurus-plugin-content-docs/current/_partials/s3/grant-access.mdx'

# Cyberduck

[Cyberduck](https://cyberduck.io/) — is a file manager that supports FTP, OpenStack Swift, and Amazon S3 protocols. You can work with Cyberduck via a graphical or console client. The graphical client is available for Windows and macOS. The console client is available for Windows, Linux, and macOS.

## Configure Cyberduck \{#configure-cyberduck}

1. [Configure S3 access](#configure-s3-access).
2. [Configure the client](#configure-client).

### 1. Configure S3 access \{#configure-s3-access}

<GrantAccess />

### 2. Configure the client \{#configure-client}

<Tabs queryString="client">
  <TabItem value="graphical" default>
    <TabItemLabel>
      Graphical client
    </TabItemLabel>

    <Tabs queryString="graphical-client">
      <TabItem value="windows" default>
        <TabItemLabel>
          Windows
        </TabItemLabel>

        1. Install [Cyberduck](https://cyberduck.io/download/).
        2. Open Cyberduck.
        3. Click **Open Connection**.
        4. In the top field, open the list and select **More Options**.
        5. In the **Profiles** section, select the **Selectel S3 Cloud Storage** profile. To use this profile, the bucket must have [Virtual-Hosted addressing enabled](/s3/buckets/addressing-types.mdx#enable-virtual-hosted).
        6. Restart Cyberduck.
        7. Click **Open Connection**.
        8. In the top field, open the list and select **Selectel S3 Cloud Storage**.
        9. In the **Access Key** field, paste the value of the **Access key** field from the S3 key of the user for whom you [configured access in step 1](#configure-s3-access).
        10. In the **Secret Key** field, paste the value of the **Secret key** field from the S3 key of the user for whom you [configured access in step 1](#configure-s3-access).
        11. Click **Connect**.
      </TabItem>

      <TabItem value="macos">
        <TabItemLabel>
          macOS
        </TabItemLabel>

        1. Install [Cyberduck](https://cyberduck.io/download/).
        2. Open Cyberduck.
        3. Click **Open Connection**.
        4. In the top field, open the list and select **More Options**.
        5. On the **Profiles** tab, select the **Selectel S3 Cloud Storage** profile. To use this profile, the bucket must have [Virtual-Hosted addressing enabled](/s3/buckets/addressing-types.mdx#enable-virtual-hosted).
        6. Restart Cyberduck.
        7. Click **Open Connection**.
        8. In the top field, open the list and select **Selectel S3 Cloud Storage**.
        9. In the **Access Key** field, paste the value of the **Access key** field from the S3 key of the user for whom you [configured access in step 1](#configure-s3-access).
        10. In the **Secret Key** field, paste the value of the **Secret key** field from the S3 key of the user for whom you [configured access in step 1](#configure-s3-access).
        11. Click **Connect**.
      </TabItem>
    </Tabs>
  </TabItem>

  <TabItem value="console-client">
    <TabItemLabel>
      Console client
    </TabItemLabel>

    Find more information about working with the console client in the [Command Line Interface (CLI](https://docs.duck.sh/cli/)) section of the Cyberduck documentation.

    <Tabs queryString="os">
      <TabItem value="windows" default>
        <TabItemLabel>
          Windows
        </TabItemLabel>

        The console version of Cyberduck for Windows is installed using the [Chocolatey](https://chocolatey.org/) package manager.

        1. Open the command line as an administrator.

        2. [Install the Chocolatey package manager](https://community.chocolatey.org/courses/installation/installing?method=installing-chocolatey).

        3. Install Cyberduck:

           ```bash
           choco install duck
           ```

        4. To install all packages, enter `A` and press **Enter**.

        5. [Download the Selectel profile file](https://static.selectel.ru/kb/selectel-s3-cloud-storage.cyberduckprofile).

        6. Upload the profile file to the `%AppData%\Cyberduck\Profiles` folder.
      </TabItem>

      <TabItem value="linux">
        <TabItemLabel>
          Linux
        </TabItemLabel>

        1. Open the terminal.

        2. Add the `duck:` repository:

           ```bash
           sudo echo 'deb https://s3.amazonaws.com/repo.deb.cyberduck.io nightly main' >> /etc/apt/sources.list.d/cyberduck.list
           sudo echo 'deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main' >> /etc/apt/sources.list.d/cyberduck.list
           ```

        3. Add the GPG key:

           ```bash
           sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE7097963FEFBE72
           ```

        4. Update the repository:

           ```bash
           sudo apt-get update
           ```

        5. Install Cyberduck CLI:

           ```bash
           sudo apt-get install duck
           ```

        6. Download the Selectel profile:

           ```bash
           wget https://static.selectel.ru/kb/selectel-s3-cloud-storage.cyberduckprofile
           ```

        7. Create the profiles directory:

           ```bash
           mkdir -p ~/.duck/profiles
           ```

        8. Move the downloaded Selectel profile to the profiles directory:

           ```bash
           mv 'selectel-storage.cyberduckprofile' ~/.duck/profiles/
           ```
      </TabItem>

      <TabItem value="macos">
        <TabItemLabel>
          macOS
        </TabItemLabel>

        The console version of Cyberduck for macOS is installed using the [Homebrew](https://brew.sh/) package manager.

        1. Open the terminal.

        2. Install Cyberduck:

           ```bash
           brew install duck
           ```

        3. Download the Selectel profile:

           ```bash
           wget https://static.selectel.ru/kb/selectel-s3-cloud-storage.cyberduckprofile
           ```

        4. Create the profiles directory:

           ```bash
           mkdir -p ~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Profiles
           ```

        5. Move the downloaded Selectel profile to the profiles directory:

           ```bash
           mv 'selectel-storage.cyberduckprofile' ~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Profiles
           ```
      </TabItem>
    </Tabs>
  </TabItem>
</Tabs>

## Command format for the console client \{#command}

To work via the console client, use commands of the following form (with Path-Style addressing):

```bash
duck --region <pool> --username <access_key> --password <secret_key> --<command> s3://<s3_domain>/<bucket_name>
```

Specify:

* `<pool>` — the [pool](/infrastructure/locations.mdx#pool) where S3 is located;
* `<access_key>` — the value of the **Access key** field from your [S3 key](/access-control/manage/edit-user-data-or-role.mdx#manage-s3-keys));
* `<secret_key>` — the value of the **Secret key** field from your S3 key;
* `<command>` — a Cyberduck command; some commands can be found in the [CLI documentation](https://docs.cyberduck.io/cli/);
* `<s3_domain>` — the [S3 API domain](/s3/manage/domains.mdx#s3-api-domains). The domain depends on the [pool](/infrastructure/locations.mdx#pool) where S3 is located;
* `<bucket_name>` — the bucket name.

## Get a link to an object \{#obtain-link-to-object}

You can obtain a link to an object in a public or private bucket via a signed URL (Presigned URL). Learn more about Presigned URLs in the [Sharing objects with presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) section of the AWS documentation.

1. Open the Cyberduck graphical client.
2. In the list of bucket objects, right-click the object and select **Copy URL**.
3. Select one of the **Presigned URL** options depending on the desired link lifetime — an hour, a day, or a week.

<Formbricks />
