Using the Github SSH protocol, you can connect to GitHub and sync with repositories without supplying your username and personal access token each time you push, pull, merge, or any Github-related command.
You can watch the video tutorial or read the text below.
Generate SSH Keys for GitHub
If you are a windows user or you face any difficulty while generating your ssh keys, you can follow this tutorial and come back to proceed further steps.
First, open your terminal and run
ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"
Replace "youremail@domain.com" with your email
It will ask you a few questions, keep on pressing enter till you get the output something like below.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nitin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa
Your public key has been saved in id_rsa.pub
The key fingerprint is:
SHA256:5asd2MT5gasdUvqhKhmKsad2qasdSfSQ/ZPgtxVbxjFhfu/U raturi888@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
| ..o. .+. . |
| .= +o = . . |
| .++. . +.. . |
| ..+.o . o o . |
|o...+ . D =. F |
|+.oo . * o |
|==+ . = |
|A= . . |
|*=+ |
+----[SHA256]-----+
Now run the below command to print the key on the screen.
cat ~/.ssh/id_rsa.pub
Now copy the output generated.
ssh-rsa AA21adasdasd+VvPxRRYZ7EI354FsLXrsPX97K0XhstPhL3IOKhKUUmD0XuIw7CgNyJuQB7DN1keAM4JPgcfhlzA78RuVJAuUm4MqKrjworsDt4h1olj14FiEu0qpasdasdsadsadwrLGfLEeasdsadasdasdasdT6rqkvnjiIS4iugpbXRK/ykdmNKvBr3ijKmELIuoz5pH32ghDiPwX9u65R0Ss8CYqnODzuE7UxjryNDjyYhCo10TPhFaIwNPu8EP5FzaHBUiN6dm6D7mtORrGtZ8Hhtr5s9rxcuTIc0m1H9rZE799/nyI46Te72CPmNJFnaDT+asdasdasd4aX+CbJEEkQ== raturi888@gmail.com
Adding SSH Keys to Github
Github SSH keys are added inside the SSH and GPG keys settings

Follow the steps below to open SSH and GPG keys settings
Visit github.com and log in.
Click on the profile icon on the top right and click on settings.
Now from the left sidebar click on the SSH and GPG keys
You can also click here to open the SSH/GPG settings directly.
To add the key, click on New SSH key button at the top right, it will open up a form to fill the key.

In this
Title
field, enter any name to differentiate your key from the keys you will enter in the futureIn
Key
field paste the key you copied earlier.Finally, click on Add SSH Key button
Setting Up Git Repository for using with SSH Protocol
If you are cloning a new repository then select the ssh tab while cloning

If you already have the repository cloned then follow the steps below:
Open your terminal, change your directory to the cloned repository, and use the below command.
git remote set-url origin
git@github.com:<github username>/<repository name>
Don't forget to change
gitusername
,repositoryname
to yours, like I have set mine belowgit remote set-url origin
git@github.com/nitinraturi/django-structure
Now ssh keys are set up, you can try pushing them to your Github repository, you will not be asked for a username and password.
I hope, by now you should be able to add ssh keys to your Github account.
You can follow this tutorial to learn basics of Github.