layout | root | title |
---|---|---|
lesson |
../.. |
SSH Keys for GitHub |
- Explain what an SSH key is
- Generate your own SSH key pair
- Add your SSH key to your GitHub account
- Learn how to use your SSH key in your GitHub workflow
When working with a GitHub repository, you'll often need to identify yourself to GitHub using your username and password. An SSH key is an alternate way to identify yourself that doesn't require you to enter you username and password every time.
SSH keys come in pairs, a public key that gets shared with services like GitHub, and a private key that is stored only on your computer. If the keys match, you're granted access.
The cryptography behind SSH keys ensures that no one can reverse engineer your private key from the public one.
The first step in using SSH authorization with GitHub is to generate your own key pair.
You might already have an SSH key pair on your machine. You can check to see if one exists by moving to your .ssh
directory and listing the contents.
If you see id_rsa.pub
, you already have a key pair and don't need to create a new one.
If you don't see id_rsa.pub
, use the following command to generate a new key pair. Make sure to replace [email protected]
with your own email address.
When asked where to save the new key, hit enter to accept the default location.
You will then be asked to provide an optional passphrase. This can be used to make your key even more secure, but for this lesson you can skip it by hitting enter twice.
When the key generation is complete, you should see the following confirmation:
The random art image is an alternate way to match keys but we won't be needing this.
We now need to tell GitHub about your public key. Display the contents of your new public key file with cat
:
The output should look something like this:
Copy the contents of the output to your clipboard.
Login to github.com and bring up your account settings by clicking the tools icon.
Select SSH Keys from the side menu, then click the Add SSH key button.
Name your key something whatever you like, and paste the contents of your clipboard into the Key text box.
Finally, hit Add key to save. Enter your github password if prompted.
####Using Your SSH Key
Going forward, you can use the SSH clone URL when copying a repo to your local machine.
This will allow you to bypass entering your username and password for future GitHub commands.