Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

Create an Ubuntu One account

To use Ubuntu Core, to build and sign an image, or publish a snap, you need an Ubuntu One account.

Ubuntu One is a single sign-on service (SSO) for Ubuntu and its affiliated projects, including snapcraft.io, the central resource for all snap-related publishing.

See below for details on how to create an account, login, and retrieve your developer account details.


1. Create an Ubuntu One account

You will need an Ubuntu One account with an uploaded public key of a locally generated SSH key pair.

See Use Ubuntu One for SSH for instructions on how to create an account and register an SSH key. With this done, your Ubuntu One account is ready to use.

You will now need to retrieve your developer account identifier. This is part of your Ubuntu One account and is used to link your account to any Ubuntu Core images you create.

The next steps need to be performed in an existing Ubuntu LTS environment.

2. Snapcraft credentials

Your developer identifier can be retrieved with the snapcraft command, the tool that’s also used to build and publish snaps. It can be installed by running:

sudo snap install snapcraft --classic

We now need to use snapcraft to export your login authentication credentials, and to place them within an environment variable:

snapcraft export-login credentials.txt
export SNAPCRAFT_STORE_CREDENTIALS=$(cat credentials.txt)

You will be asked for your Ubuntu One email address and password, and encouraged to enable two-factor authentication (2FA) if you haven’t already done so.

3. Retrieve your developer account ID

With your authentication in place, the snapcraft whoami command will now display your developer identifier after the id field:

$ snapcraft whoami
email: <email-address>
username: <username>
id: xSfWKGdLoQBoQx88
permissions: package_access, package_manage, package_metrics, package_push, package_register, package_release, package_update
channels: no restrictions
expires: 2024-04-17T10:25:13.675Z 

In the output above, the example id is xSfWKGdLoQBoQx88 – we’ll use this ID for subsequent examples, but you should obviously use your own ID from now on.

This page was last modified a month ago. Help improve this document in the forum.