Quick GitHub 'Permission denied (publickey)' SSH error fix

GitHub ‘Permission denied (publickey)’ error

If your attempt to clone a GitHub repository over SSH is foiled by GitHub’s Permission denied (publickey) SSH error, there’s usually a quick fix.

GitHub’s Permission denied (publickey) error is usually caused by one of the following three issues:

  1. You have used an incorrect email address in the GitHub SSH URL
  2. You have not configured your public SSH key in your GitHub account
  3. You must create GitHub SSH keys to be used by the secure shell

Always use [email protected]

An SSH URL for my rock-paper-scissors repository looks like this:

[email protected]:cameronmcnz/rock-paper-scissors.git

The preamble of the SSH URL must be [email protected]. Some users incorrectly use their GitHub account email, or substitute their username where the first git is.

Do not change the email address. It must be: [email protected]

Git SSH Keys Tutorials

Further your knowledge with these Git and SSH tutorials:

Follow these tutorials and you’ll learn GitHub Actions fast.

You can test the GitHub SSH connection for the Permission denied error by using the -T switch. If SSH is set up correctly, the output includes a reference to your username:

C:\fix\permission\denied> ssh -T [email protected]
Hi cameronmcnz! 
GitHub SSH authentication is successful...

GitHub SSH configuration

Your public SSH key must be registered in your account setting in order to avoid GitHub’s Permission denied (publickey) SSH error.

Confirm that your public key has been configured correctly by checking the SSH and GPG link in your account settings. If no keys are listed, add your public key and try to connect to GitHub over SSH again. The error should go away.

setup github ssh key

If you don’t register your public key in the admin console, you will definitely encounter GitHub’s Permission denied (publickey) error with SSH.

GitHub SSH key generation

One sure fire way to guarantee you’ll see GitHub’s Permission denied (publickey) error is if you don’t have any SSH keys at all.

Check for the .ssh folder under the user’s home directory. Regardless of whether you run on Windows or Linux, there should be a public and private key file in this folder. If it is empty, you’ll need to create an SSH keypair and then register the public key in GitHub.

C:\fix\permission\denied> ssh-keygen -o -t rsa -C "[email protected]"

Once the GitHub SSH keys are created, copy the value of the public key and configure it in your GitHub account settings. Then attempt to SSH to GitHub again.

It’s always frustrating when you encounter an error, especially when it’s your first time connecting to a remote resource. Fortunately, if you’ve hit GitHub’s Permission denied (publickey) SSH error, follow one of the three resolutions suggested above and that should fix the problem.

App Architecture
Software Quality
Cloud Computing