- Summary of Steps
- Create SSH Keys
- Copy Public key to GitHub Settings
- Clone Repo using SSH URL
- Issue and Resolution
- Bibliography and Reference
- In this blog, we will see how to setup password-less Git operation for our GitHub repos
- Starting from Aug-13-2021 GitHub stopped supporting password authentication for repository related Git Operations.
- Instead, token-based authentication methods like personal access, OAuth, SSH Key, or GitHub App installation token will be required for all authenticated Git operations.
- In this blog, we will see how to setup SSH key based authentication in GitHub for doing Git operations
- Step 1: Create SSH keys for your workstation using
- Step 2: Copy the SSH Public Key into GitHub Settings
- Step 3: Use SSH URL for the repository to clone
I'm using Ubuntu OS workstation and performed the steps in it.
- Open terminal and Run
ssh-keygencommand The command creates following two files in
id_rsaprivate key file, and
id_rsa.pubpublic key file
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key ($USER_HOME/.ssh/id_rsa):
Then press enter, to move further,
- It is important to Enter passphrase for your SSH key, to use the key for cloning private repo from GitHub
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Finally, we can see the below output, which shows the path where the public and private key files are stored
Your identification has been saved in $USER_HOME/.ssh/id_rsa. Your public key has been saved in $USER_HOME/.ssh/id_rsa.pub. The key fingerprint is: SHA256:VRqScsqwertyuioXGpazvfrw username@workstation_name The key's randomart image is: +---[RSA 2048]--+ | .+. o=o . | |.. o.oo.+ | |o . oo+ o | |.+ o -= + | |o . o S | | .o+ o . | |.o..+ o O. | |o.o .-- =O.*. | |.+..E ooO. | +----[SHA256]---+
- Goto GitHub Settings
SSH and GPG keyfrom left pane
New SSH key
- Copy your workstation's (
id_rsa.pub) public key content here
- Save and the key will be listed in the
SSH key section
- Now you can use the SSH URL to clone the repository
- While cloning, you would be prompted to enter the SSH key password
$ git clone firstname.lastname@example.org:github_userid/repo_name.git Cloning into 'repo_name'... Enter passphrase for key '$USER_HOME/.ssh/id_rsa': Checking connectivity... done.
- Once you enter your
SSH key password, the repo will be cloned in your workstation
- Sometime we will get below error while updating the old repo, which was previously cloned using
`fatal: could not read Username for 'https://github.com': terminal prompts disabled`
- Use the command to get rid of the issue.
# To avoid the error # we need to change gt config to use ssh/git method git config --global --add url."email@example.com:".insteadOf "https://github.com/"