How to Generate SSH key for Git

  1. Checking PC's SSH Keys
  2. Generate a new SSH key
  3. Adding an SSH key to the ssh-agent
  4. How To Add SSH Key To Github Account
  5. Back up old SSH keys
  6. Why we need SSH key (for Linux and OSX)

This snippet is going to help you add an SSH key to the ssh-agent, generate a new SSH key, learn how to find the SSH key of your PC and how to connect it with your GitHub/bitbucket account.

Now let's find out how we can checkout PC's SSH keys.

Checking PC's SSH Keys

Type ls -al ~/.ssh so as to see your ssh keys:

ls -al ~/.ssh

By default, the filenames of the public keys are one of the following:

id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub

Generate a new SSH key

Now let’s generate a new SSH key step by step.

  1. Type this below, using your GitHub's account email:
    ssh-keygen -t rsa -b 4096 -C "[your github's email]"

    The following text will show up after which you can hit the “Enter” button:

    > Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
    
  2. In this section, you can hit “Enter” again or type the secure passphrase (more about passphrase).
    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    

Adding an SSH key to the ssh-agent

Let’s find out how we can add the SSH key to ssh-agent. Before adding, check your ssh keys or generate a new key.

  1. Be sure ssh-agent is enabled:
    eval "$(ssh-agent -s)"
  2. Add your SSH key to the ssh-agent. If you used an existing SSH key rather than generating a new SSH key, you would need to replace id_rsa in the command with the name of your existing private key file:
    ssh-add ~/.ssh/id_rsa

How To Add SSH Key To Github Account

  1. Log into your Github's account. In the top right corner of any page, click your profile photo, then click Settings.
  2. In the user settings sidebar, go to SSH and GPG keys.
  3. Click New SSH key.
  4. Type Title and your SSH Key.
  5. You can get your ssh key by typing below:
cat .ssh/id_rsa.pub
something like this

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5uy0aRcQkRDwBK0c+MRw4lnVwQW9qYKtMRdjHdHUwPYqV9c8jax ....
Step 5: then hit Add SSH key

Now you have added your PC's SSH key to your Github's account.

Back up old SSH keys

If there are existing SSH keys, but you do not want to use them for connecting to Bitbucket Server, you should back up these old keys running the following:

mkdir key_backup
copy id_rsa* key_backup

Why we need SSH key (for Linux and OSX)

SSH keys are an access credential used in SSH protocol (Secure Shell) which is a network protocol that helps to login from one computer to another securely, as well as to manage networks, operating systems, and configurations. If you use Git and want to clone anything from remote repositories, you have to choose one of these two ways: HTTPS or SSH. If you use HTTPS, you have to type your account access every time you communicate with the remote repository, or change your configs and fill your account data (access). Another modern way is to use the SSH authentication method. It is used in many Version Control Systems to have command line access into your servers, etc. SSH key pairs can be used for authentication instead of passwords. Each key pair consists of a private key and a corresponding public key. When you use SSH key for Git, you inform Git that this PC is authenticated for that Github account, and it will never ask you about any access again because you have already given it your SSH key.


Do you find this helpful?

Related articles