Skip to main content

Command Palette

Search for a command to run...

Setup GitHub SSH key using Windows

GitHub SSH authentification using Windows

Published
2 min read
Setup GitHub SSH key using Windows
A

Software engineer focusing on PHP, JavaScript, HTML, CSS, CI/CD, GitHub, AWS, Azure & Magento Commerce. I enjoy code for good projects, tech, gym, nature, travel, fried chicken, and coffee.

All my articles are educational only from my experience.

Feel free to connect.

This is how I installed Git and authenticated with my GitHub repo using a ssh key using Windows OS

Download and install git

  • https://git-scm.com/

Create a folder for a git repo

  • Create a folder in your windows system
  • Open folder in git by right clicking and selecting git bash image.png

Create a ssh key (Open ssh type)

ssh-keygen -t ed25519 -C "AddYourEmail@email.com"
  • Follow prompts and save to your .ssh folder
  • View and copy your public key you need to add this later
    nano <YOUR_LOCATION_YOU_ADDED_ABOVE>/.ssh/github-key.pub
    

Go to your github security settings

  • https://github.com/settings/profile
  • Cick SSH and GPG keys
  • Click NewSSH key image.png
  • Add public key you copied before new SSH key and add add a Title
  • Add SSH key
  • You should have a success notification

Add your ssh-agent connection to .profile

  • Open your git folder using git bash again
  • Create a .profile or edit it
    nano ~/.profile
    
  • Add these contents. Remember to edit to set path to your ssh key!
    #! /bin/bash 
    eval `ssh-agent -s` 
    ssh-add ~/.ssh/<ADD_PATH_TO_SSH_KEY>
    

Add your ssh-agent connection to .bashrc

  • You will need to add to bash as well. eg. I am using git terminal in Android studio so I will need to change bashrc
  • Create a .bashrc or edit it
    nano ~/.bashrc
    
  • Add these contents. Remember to edit to set path to your ssh key!
    #! /bin/bash 
    eval `ssh-agent -s` 
    ssh-add ~/.ssh/<ADD_PATH_TO_SSH_KEY>
    
  • Restart the app that you are using git cli
  • You should see something like
    Agent pid XXXX
    Identity added: xxxxxxxxx
    
  • Go to one of your repos and fetch remote repo by running
    git fetch
    
  • This should fetch contents without asking for key or ssh agent

Credits

  • https://stackoverflow.com/questions/3669001/getting-ssh-agent-to-work-with-git-run-from-windows-command-shell/15870387#15870387
  • https://stackoverflow.com/questions/18404272/running-ssh-agent-when-starting-git-bash-on-windows
  • https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
  • Create ssh key
  • Header Image

Shameless Plugs

Feel free to comment with questions or feedback✌️

Happy coding,

Az 👨🏾‍💻