The account is registered on Ubuntu One, a single sign-on service for Ubuntu and affiliated projects. Head over to https://snapcraft.io/account and select the “I don’t have an Ubuntu One account” option.
Fill out the form that appears. Your “full name” and “username” will be displayed next to your app in the Snap Store, so you should choose appropriate branding. Use your organisation’s name for both if you are publishing on their behalf.
You will then receive an email asking you to verify your account. Click the verification link in the email and complete the reCAPTCHA challenge that follows.
Finally, you will be asked to review the terms of the developer programme. If you wish to revisit these at any time you can find them here:
It can be retrieved with the snapcraft command by first logging in to your Ubuntu One account:
$ snapcraft login
Enter your Ubuntu One e-mail address and password.
If you do not have an Ubuntu One account, you can create one at https://snapcraft.io/account
Email: <your email address>
Second-factor auth: 960067
If you’re rather used purely web-based authentication method, Snapcraft includes experimental functionality for a new web-based authentication flow. This allows you to complete the login process in a simple, secure manner using the browser, and extends the macaroon-based authentication outlined above:
$ snapcraft login --experimental-login
Opening an authorization web page in your browser.
If it does not open, please open this URL:
Snapcraft will forward the query to your default browser and open the login page, where you can authenticate your identity. This could be Ubuntu SSO, optional MFA, and any other methods that you would use. Once you complete the authentication, you will see Login successful output to the command line.
If you do not wish to use the experimental login feature anymore, you need to logout to clear your credentials. You can then return to the standard login process.
$ snapcraft logout
In scenarios where the web-based access may be restricted, developers can export the credentials with the export-login [file] command, and then use them on other systems by passing on the –with creds-file option to snapcraft log
Following a successful login, the snapcraft whoami command reveals your developer-id:
You will be prompted for a filename and then for a passphrase. We recommend using a filename unique for this role, such as ucid_rsa. Adding a passphrase secures against your private key being compromised, but it will need to be entered whenever the key is used.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): ucid_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ucid_rsa
Your public key has been saved in ucid_rsa.pub
The key fingerprint is:
The key's randomart image is:
| +*AC. o.. |
| .+.X=o=..E |
| . B.-=. . |
| . *o+ o*. |
|+ . . +oSo. |
|+o.. . o |
| o..... . |
| .S. |
| ..o. |
The output is a 2048-bit RSA key pair which is secure enough for most use cases (you may optionally pass in the -b 4096 flag to the ssh-keygen command, to create a larger 4096-bit key).
The contents of the <key name>.pub file (not the private key without an extension) now need to be pasted into the Public SSH Key field on https://login.ubuntu.com/ssh-keys, such as with xclip:
Press the Import SSH key button to complete the import process.
The key should now be listed beneath SSH Keys at the top of the page which means the key has been recognised and is ready to use. Old and redundant keys should be removed with the ‘Delete selected keys’ button to avoid the potential security risk of someone using an old key.