The SSH key-based authentication is more highly secured than the password and access token. It also allows automating git operation in scripts or background processes.

Follow the below steps for adding a new ssh key in Github account.

  1. Check Available SSH Keys
  2. Generate a New SSH Key
  3. Add SSH Key to Github Account
  4. Test Setup

1. Check Available SSH Keys

Log in to your Unix/Linux system and open a terminal. Check ~/.ssh/ directory for existing ssh key files in your system. If the system already have key pair files, you can use them to configure with Github.

In my case, the files already exists.

ls -la ~/.ssh 

Output

-rw------- 1 root root 568 Mar 7 09:36 authorized_keys -rw------- 1 root root 2602 Apr 1 02:53 id_rsa -rw-r--r-- 1 root root 571 Apr 1 02:53 id_rsa.pub

2. Generate a New SSH Key

If no SSH key pair is available, use the ssh-keygen command-line tool to generate a new key. Open a terminal and type:

ssh-keygen 

Hit enter for any input prompted by command:

Output

Generating public/private rsa key pair. Enter file in which to save the key (/home/rahul/.ssh/id_rsa):[Hit Enter] Enter passphrase (empty for no passphrase):[Hit Enter] Enter same passphrase again:[Hit Enter] Your identification has been saved in /home/rahul/.ssh/id_rsa Your public key has been saved in /home/rahul/.ssh/id_rsa.pub The key fingerprint is: SHA256:WG /Js/iM3kNfJ7Vf4iKHu/Jd2q3VffAnNAdyh/Rc7s [email protected] The key's randomart image is: ---[RSA 3072]---- | o.| | ...o=| | . .o..=| | o . .o.| | . S o. =.=| | . .o .E*| | . ..* | | =*o*.B.o| | .ooB%= ...| ----[SHA256]-----

Thats it. Now, you will see two key files created under ~/.ssh directory. One is the private key (id_rsa) and other is the public key (id_rsa.pub).

Keep the private key file secured and don’t share with anyone.

3. Add SSH Key to Github Account

As you have created a SSH key pair on your system. Copy the content of public key (file with .pub extension) and follow the below steps to add ssh key in Github account.

  1. At the top-right corner, click on profile icon and click Settings.

    Adding a New SSH Key in GitHub General Articles github SSH

  2. In left sidebar, click SSH and GPG keys.

    Adding a New SSH Key in GitHub General Articles github SSH

  3. Click New SSH key


    Adding a New SSH Key in GitHub General Articles github SSH
    click “New SSH Key” button
  4. Input a title and paste the public key content in Key section.


    Adding a New SSH Key in GitHub General Articles github SSH
    Adding SSH Key
  5. Click Add SSH Key
  6. Enter your password to authenticate.
  7. All done

4. Test Setup

To verify settings, just clone any repository accessible to your account with Git url. For example:

git clone [email protected]:username/reponame.git 

This will authenticate the request using SSH key pair. On successful authentication the repository will cloned in your system.

Conclusion

In this tutorial, you have learn to configure SSH key to your Github account.