Take the 2-minute tour ×

How do I make a PGP key? I'd like to have it for signing PPA uploads and such.

share|improve this question

2 Answers 2

up vote 57 down vote accepted

Generating a PGP Key

Here is a GUI way to generate a new PGP key.

  1. Open the Passwords and Keys (Seahorse) application

    This screen will appear.

    Passwords and Keys screenshot

  2. Either go to FileNew in the global menu or hit Ctrl + N

  3. In the Create New ... window select PGP Key and hit Continue

    Create New ... screenshot

  4. Enter your full name and your email address, the comment is optional

    New PGP key screenshot

  5. Enter a strong password which you'll remember

    Passphrase for New PGP Key screenshot

  6. Wait for the Generating key dialog to finish (this may take a while)

  7. You're done!

You can find your key in the Passwords and Keys application's My Personal Keys tab.

My Personal Keys screenshot

Uploading your key to Launchpad

Uploading your key to Launchpad is just a few clicks.

  1. Go to Launchpad.net and log in

  2. On your profile page click on the yellow edit button (a round button with a grey pencil icon) next to OpenPGP keys

    Note: The URL to that page looks like this https://launchpad.net/~yourusername

    OpenPGP keys on LP

  3. Open the application Passwords and Keys (Seahorse)

  4. Navigate to the My Personal Keys tab

  5. Select your key and go to RemoteSync and Publish Keys in the global menu

  6. Hit Sync

    enter image description here

    Note: The Sync button may be grayed out if no sync server is selected. In that case:

    • Hit the Key Servers button

      enter image description here

    • Select the hkp://keyserver.ubuntu.com:XXXXX key server from the Publish keys to list and hit close

      enter image description here

  7. Double click your PGP Key from the list on the My Personal Keys tab

  8. In the key window that just appeared navigate to the Details tab, select the Fingerprint with your mouse and hit Ctrl + C

    enter image description here

  9. Paste the just copied fingerprint into the Fingerprint text field on the Change your OpenPGP keys page on Launchpad and hit Import Key

    enter image description here

  10. You're done!

share|improve this answer
Might I add that if no password is given, it will err, but give an almost-useless error? –  hexafraction Aug 20 '12 at 15:01
At step 9, it can take 10 minutes before the Ubuntu server knows your key. –  Nicolas Raoul Aug 7 '13 at 5:34

Creating your OpenPGP keys with gpg

Step 1: Open a terminal and type:

gpg --gen-key

Step 2: GPG will now ask you a number of questions about the type of key you want to generate. follow the steps below to select the default option each time.

Step 3: Check that your key has been generated by typing gpg --list-keys and, if successful.

pub 1024D/12345678 -> this is the important number

Step 4: Launchpad doesn't store your key directly, so you need to export your public key to a key server, such as keyserver.ubuntu.com:

gpg --keyserver keyserver.ubuntu.com --send-keys 12345678

Replace 12345678 with the pub id you noted in step 3.

If successful, GPG will display a message similar to:

gpg: sending key 12345678 to hkp server keyserver.ubuntu.com

Importing your key into Launchpad with gpg

Step 1: Launchpad identifies your OpenPGP key by its fingerprint. In your terminal, you can ask GPG for your key's fingerprint by typing:

gpg --fingerprint

GPG will display a message similar to:

  Key fingerprint = `0464 39CD 2486 190A 2C5A  0739 0E68 04DC 16E7 CB72`

copy only the numeric fingerprint: 0464 39CD 2486 190A 2C5A 0739 0E68 04DC 16E7 CB72.

Step 2: Visit your OpenPGP

Step 3: Paste the fingerprint that you copied in step 1 into the Fingerprint text-box, then click the Import Key button. Launchpad will use the fingerprint to check the Ubuntu key server for your key and, if successful, send you an encrypted email asking you to confirm the key import.

Note : this is a brief ... from launchpad process..... both process take a while so just take your time...

share|improve this answer
Step 1 may take a while if you do not have a hardware random number generator. Do not use methods which promise to speed this up because it makes your keys weaker. –  Lekensteyn Nov 8 '11 at 18:06
If the gpg command fails to send the key to the keyserver, try pasting the result of "gpg --export -a IMPORTANT_NUMBER" to keyserver.ubuntu.com. –  igordcard Mar 26 at 18:27

Your Answer


