First, you need a Github account. If you've already got one, great! Otherwise, you'll need to sign up for a new one.
To use your Github account on a Windows machine, you'll need to generate a new RSA key. You'll also need the following tools installed:
Generate a new RSA Key
RSA is an asymmetric encryption algorithm used to authenticate users without using passwords. It's used instead of passwords simply because it provides a mechnism for verifying who you are without giving the other end of the connection information they can use to impersonate you.
An RSA key consists of two halves: a public key and private key. You give your public key to other sites, which allows them to verify (using a lot of math) that you are the owner of your private key. You must keep your private key private.
Since a private key can theoretically be stolen, it's encrypted with a password (in RSA terms, a "passphrase"). So you need to make sure you both keep the private key in a safe place and remember the passphrase it's encrypted with.
To generate a new RSA key, you'll need to use a tool called Puttygen. It's installed along with TortoiseGit, and you may be able to find it in your start menu:
If it's not there, it might be at:
If you still can't find it, you can just download another copy.
Once it's running, you'll be presented with a screen like this --
Change the number in the lower-right hand corner, labelled with
Number of bits in a generated key, to
4096. This is the current acceptable length for RSA keys. Once this is done, hit the
You'll need to scribble your mouse cursor below, around, or over the progress bar for a while. Unfortunately, the Puttygen program doesn't use (or trust?) Window's built-in cryptographically secure random number source, so this is the fallback option to obtain entropy.
Eventually you'll get to this screen:
DO NOT CLOSE THIS WINDOW UNTIL THE END. If you forget to save your private key, you'll need to start over. If you forget to save your public key, you can use the
Load button to reload your private key and the
Public key for pasting into OpenSSH... bits should re-appear.
Put your chosen passphrase into both the
Key passphrase and
Confirm passphrase box.
Save private key and save it somewhere safe.
Don't close the window yet. You'll need all of the text in the
Public key for pasting... box for the next step.
Give your public key to Github
Fire up a web browser and log into your Github account. In the top-right corner, click your username --
From that screen click on
Edit Your Profile in the top-right corner --
Then from the menu on the left,
SSH Keys --
Then the button labelled
Add New SSH Key --
Go back to the Puttygen window that you didn't close earlier and copy that big hunk of text that I mentioned you'd need a few times. Make sure you grab the whole thing by using the
Right Click -> Select All doodad.
Then paste that chunk of text into the box labelled
Key. Also throw in a title or something; if you have only one key, it's pretty irrelevant; if you have multiple keys it makes it much easier to figure out which is which.
That's it! Make sure to keep your private key somewhere secret, somewhere safe. And don't forget your passphrase, there's no feasible way to recover it. It's time to start the learning slope!