Skip to content

Instantly share code, notes, and snippets.

@adamjohnson
Last active June 8, 2026 23:43
Show Gist options
  • Select an option

  • Save adamjohnson/5682757 to your computer and use it in GitHub Desktop.

Select an option

Save adamjohnson/5682757 to your computer and use it in GitHub Desktop.
Fix "Permission denied (publickey)" error when pushing with Git

"Help, I keep getting a 'Permission Denied (publickey)' error when I push!"

This means, on your local machine, you haven't made any SSH keys. Not to worry. Here's how to fix:

  1. Open git bash (Use the Windows search. To find it, type "git bash") or the Mac Terminal. Pro Tip: You can use any *nix based command prompt (but not the default Windows Command Prompt!)
  2. Type cd ~/.ssh. This will take you to the root directory for Git (Likely C:\Users\[YOUR-USER-NAME]\.ssh\ on Windows)
  3. Within the .ssh folder, there should be these two files: id_rsa and id_rsa.pub. These are the files that tell your computer how to communicate with GitHub, BitBucket, or any other Git based service. Type ls to see a directory listing. If those two files don't show up, proceed to the next step. NOTE: Your SSH keys must be named id_rsa and id_rsa.pub in order for Git, GitHub, and BitBucket to recognize them by default.
  4. To create the SSH keys, type ssh-keygen -t rsa -C "your_email@example.com". This will create both id_rsa and id_rsa.pub files.
  5. Now, go and open id_rsa.pub in your favorite text editor (you can do this via Windows Explorer or the OSX Finder if you like, typing open . will open the folder).
  6. Copy the contents--exactly as it appears, with no extra spaces or lines--of id_rsa.pub and paste it into GitHub and/or BitBucket under the Account Settings > SSH Keys. NOTE: I like to give the SSH key a descriptive name, usually with the name of the workstation I'm on along with the date.
  7. Now that you've added your public key to Github and/or BitBucket, try to git push again and see if it works. It should!

More help available from GitHub on creating SSH Keys and BitBucket Help.

@Yunishello

Copy link
Copy Markdown

Thanks so much it worked

@emil-raubach

Copy link
Copy Markdown

Thank you!

@ScorpQ

ScorpQ commented Nov 1, 2023

Copy link
Copy Markdown

Thank youuu

@roziqjon1

Copy link
Copy Markdown

l;,
l

@chronkituss

Copy link
Copy Markdown

Thank you, it worked!

@sagar03d

sagar03d commented Jan 2, 2024

Copy link
Copy Markdown

I was having this error on ubuntu, do not forget to add 'sudo' while running ssh-keygen command

@devonkinghorn

Copy link
Copy Markdown

I had this problem but only with docker-compose build with a git context. Git clone and push still worked though

For some reason when I ran ssh-add, it magically worked. No clue why but hopefully it helps someone.

$ ssh-add ~/.ssh/id_rsa

@0xkarambit

Copy link
Copy Markdown

Thank you bro, needed this

@Cegt25

Cegt25 commented Apr 18, 2024

Copy link
Copy Markdown

Gracias, esta solución me funciono perfectamente

@mmuthivhi

Copy link
Copy Markdown

thank you mahn

@purplena

Copy link
Copy Markdown

extremely appreciated!

@hbolajraf

Copy link
Copy Markdown

For those who still have the issue, I created a step-by-step tutorial on how to fix the "Permission Denied (publickey)" error. Post : https://hbolajraf.net/posts/Connecting-to-GitHub-and-Pushing-Changes-Using-SSH-on-Windows/

@zcecchetti

Copy link
Copy Markdown

THIS WORKED!!!

@yongtaoer

Copy link
Copy Markdown

Thank you very much, your answer has helped me!

@Domjon24

Copy link
Copy Markdown

Thank you! This was very helpful & idiot-proof

@aat007

aat007 commented Oct 15, 2024

Copy link
Copy Markdown

Many Thanks

@mukhusin

Copy link
Copy Markdown

Excellent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment