Setting up SSH Keys using Github and Gitlab

Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username or password at each visit.

Setting up SSH keys

For Github

Open Terminal

Generating a SSH Key

Paste the text below, substituting in your GitHub email address.

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ShellScript

This will create a public ssh key

When you’re prompted to “Enter a file in which to save the key,”.

Enter a file in which to save the key (/home/you/.ssh/id_rsa):

Enter the filename as yourusername-github (example: sujaykundu777-github)

At the prompt, type a secure passphrase. For more information, see "Working with SSH key passphrases".

Just press Enter twice”

Adding your SSH key to the ssh-agent

Start the ssh-agent in the background.

$ eval "$(ssh-agent -s)"
ShellScript

Add your SSH private key to the ssh-agent. If you created your key with a different name, in our case yourusername-github

$ ssh-add ~/.ssh/yourusername-github
ShellScript

The files – the private key and the public key should be inside the /home/yourusernme/.ssh folder.

Adding the ssh key to your Github Account

Copy the ssh key to your clipboard

$ sudo apt-get install xclip
ShellScript

Downloads and installs xclip. If you don’t have apt-get, you might need to use another installer (like yum)

$ xclip -sel clip < ~/.ssh/yourusername-github.pub
ShellScript

Copies the contents of the yourusername-github.pub file to your clipboard

Now paste this ssh key in Github settings page under settings > SSH and CPG Keys > Add SSH Key > Save SSH Key.Use a suitable title for the key.If prompted, confirm your GitHub password.

After saving the ssh key, just set the remote url using the ssh url provided for the repo:

$ git remote set-url origin git@yourname-github:yourname/yourrepo.git
ShellScript

That’s it, Now you don’t have to enter password everytime for a push

For Gitlab

$ KEY=yourname-gitlab && ssh-keygen -t rsa -b 4096 -f ~/.ssh/$KEY -C "$KEY"
ShellScript

This will create a public ssh key,Now open config file:

$ nano ~/.ssh/config
ShellScript

and save the host details :

 Host yourname-gitlab
 HostName gitlab.com
 IdentityFile ~/.ssh/yourname-gitlab
ShellScript

Now copy the ssh signed rsa public key by:

$ cat ~/.ssh/yourname-gitlab.pub
ShellScript

Now paste this ssh key in Gitlab settings page

After saving the ssh key, just set the remote url using the ssh url provided for the repo:

$ git remote set-url origin git@yourname-gitlab:yourname/yourrepo.git
ShellScript

That’s it, Now you don’t have to enter password everytime for a push

ggpush and ggpull works too !!

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *