Configuring SSH Keys on Linux and Mac OS X
Linux and Mac OS X both come with support for SSH and SSH keys out of the box. Launchpad uses SSH keys to authenticate your computer with your Launchpad account. This guide shows you how to get that done.
The first thing you need to do is generate your SSH keypair. A keypair, as the name implies, consists of 2 parts: the public key and the private key.
Your public key is placed on remote servers so that they can check back with you to see that you are who you say you are.
Your private key should NEVER leave your computer! This is the main file that authenticates you. It contains the special unique data that identifies you.
Generating a Keypair
Generating a keypair is very easy.
- Open a terminal
- Type in the following:
$ ssh-keygen -t rsa -b 2048
- Accept the defaults, to save your public and private keys to ~/.ssh
- Open your public key (~/.ssh/id_rsa.pub) in a text editor (GEdit or Kate on Linux, TextEdit on Mac OS X)
Launchpad & SSH
Like I said before, when you use Launchpad and Bazaar, it likes to use the SSH keys to authenticate you. We need to add our public key to Launchpad.
Adding Your Public Key to Launchpad
- Open your browser to Launchpad and log in
- Go to your home page and click on the Change details link
- Click on the SSH Keys tab (Note: not the OpenPGP keys!)
- Paste that public key into the text box at the bottom of the page
- Click the Import Public Key button at the bottom of the page
And you're done!
More In Depth Example
This is specific to Mac OS X 10.6, but should be similar on any Mac or Linux system.
- Open Terminal
- Change to hidden SSH folder
$ cd ~/.ssh/
- Generate a key
ssh-keygen -t rsa -b 2048Prompts for above are as follows, just hit enter for the file name, and then enter the password twice and you are done.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):[Just Hit Enter]
Enter passphrase (empty for no passphrase):[Enter a unique password]
Enter same passphrase again:[Renter a unique password]
- Make sure you remember your password you enter
- Now you should have 2 new files in your folder, named id_rsa and id_rsa.pub which are your private and public keys respectively.
- Set permissions on the keys you just created to be as restrictive as possible.
chmod 400 id_rsa*
- Modify the SSH config file to automatically use your just created key every time you connect to launchpad
- Use your choice of text editor to edit ~/.ssh/config
sudo vi config
- Hit i to enter insert mode
- Add the following text to the bottom, where it says yourlaunchpdusername replace with your launchpad user name. ( to get yourlaunchpdusername visit https://launchpad.net/~ and it will redirect to add your username to the url after the ~ )
Host bazaar.launchpad.net IdentityFile ~/.ssh/id_rsa User yourlaunchpdusername
- Hit Escape
- Hit ZZ
- Copy the contents of your public key file on the Mac
cat ~/.ssh/id_rsa.pub | pbcopyLinux users or Mac users can alternatively open ~/.ssh/id_rsa.pub with your favourite text editor or omit pbcopy and just copy it after running the command
- Finally Edit your SSH keys on launchpad as described in Adding Your Public Key to Launchpad above. ( you can click on https://launchpad.net/people/+me/+editsshkeys which will take you directly to the page to update your SSH keys on launchpad ). Make sure you are on SSH keys and not PGP keys here.