Using Cyberduck and duck CLI to access Oracle Cloud Infrastructure Classic Storage

Stephen Cross
Oct 31, 2017 · 2 min read

Cyberduck is a free (donation supported) remote file and object store management client available for Windows and MacOS. This article provides a quick overview of using Cyberduck, and the associate duck CLI, with the Oracle Cloud Infrastructure Storage Classic object storage services

First download and install Cyberduck and duck from and, or use one of the supported package installer such a Choco on Windows, or Homebrew on MacOS, e.g.

$ brew cask install cyberduck
$ brew install duck


To use the Cyberduck UI with your Oracle Cloud Infrastructure Storage Classic account first download and import the Oracle Storage Cloud.cyberduckprofile to setup the Oracle Cloud specific Swift configuration profile.

$ wget " Storage Cloud.cyberduckprofile"
$ open "./Oracle Storage Cloud.cyberduckprofile"

After the profile has been imported an “Oracle Storage Cloud” selection will appear as a new connection type

To connect to a storage account set the required account credentials

Server - the tenancy specific storage URL, starting with the identity domain or service id, e.g.

ServiceName-IdentityDomain:Username - The Storage account username in the format “Storage-<identitydomain>:<username>” e.g.

duck CLI

The duck command line interface uses the same Oracle Storage Cloud.cyberduckprofile configured above in the Cyberduck GUI. After the the .cyberduckprofile has been imported in the UI the duck command line tool will show support for an additional oracle:// connection protocol

As before the username must be in the format “Storage-<identitydomain>:<username>”. The container path must include the full storage cloud URL with the Identity Domain or Service ID prefix, e.g.

$ duck --username \ 
--password PASSWORD \
--list oracle://

The duck CLI can be provides and easy way to automate file upload, download and synchronization tasks.

Upload a Compute Cloud virtual machine image to the compute_images container

$ duck --username \
--password PASSWORD \
--parallel 5 \
--upload oracle:// myimage.tar.gz

Download an object

$ duck --username \
--password PASSWORD \
--parallel 5 \
--download oracle:// ./target.dat

Synchronize a local directory with a remote container

$ duck --username \
--password PASSWORD \
--synchronize oracle:// ./source

Oracle Developers

A community for developers by developers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store