Let's first define GitHub as a browser-based online control system of distributed version for those software developers using the Git revision control system. Git uses SSH public key authentication and not a password authentication. Each user of the system has to generate a key.
SSH is also known as Secure Shell or Secure Socket Shell More About SSH in GitHub. SSH keys are used to authenticate secure connections they are generate through a public key cryptographic algorithm, the most common being RSA or DSA. This is a one-way formula that ensures the public key can be derived from the private key but the private key cannot be derived from the public key.
This guide is for Windows users, more information for Linux and Mac on this site.
Windows environments do not have a standard default Unix shell. External shell programs will need to be installed for to have a complete keygen experience. The most straight forward option is to utilize Git Bash.
Open Git Bash
Paste the text below, substitute
"[email protected]"with your GitHub email address
$ ssh-keygen -t ed25519 -C "[email protected]"
If you are using a legacy system that doesn't support the
ed25519 algorithm, use:
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
It will ask for a file to save the key, just press enter. This accepts the default file location.
At the prompt, type a secure passphrase. For security reasons it should be as complex as possible.
Now you have a new SSH key!
- Ensure the ssh-agent is running more information , or start it manually:
#start the ssh-agent in the background$ eval $(ssh-agent -s)> Agent pid 59566
NOTE : If you are following this ssh key generation flow , there is no need to start the ssh-agent.
- Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace
id_ed25519in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_ed25519
- Now you need to add your public key to your GitHub account , for this follow this steps.
Now you are set.