Setting Up Git SSH Keys for Command Line Development

Adding a new SSH key to your GitHub account

As a newbie, you don’t understand this, but…

when you’re in a terminal and you’re fussing with git and you push and oops it doesn’t work.

Maybe you need to make sure your git account has keys on your Mac so that git push works right.

This guide explains why SSH keys matter and how they’ll save you from constant authentication headaches.

Why SSH Keys Matter for Developers

When you work with Git repositories (especially on platforms like GitHub, GitLab, or Bitbucket), you need a way to prove your identity. There are two main approaches:

  1. HTTPS with username/password - Simple but less secure and more tedious
  2. SSH with key authentication - More secure and convenient once set up

The Problems with HTTPS Authentication

Picture this: you’re coding away, make some changes, and type git push. Suddenly…

“Username for ‘https://github.com’:”
“Password for ‘https://yourusername@github.com’:”

Every. Single. Time.

This becomes:

  • Incredibly annoying - You’ll hate typing your credentials 20 times a day
  • Less secure - Passwords floating around your terminal history? Not great
  • Fragile - Change your GitHub password and suddenly nothing works

The Benefits of SSH Keys

SSH keys are like having a VIP pass to your repositories. Once set up:

  • No more password prompts - git push just works, instantly
  • Actually secure - Your private key never leaves your machine
  • Professional workflow - You’ll look like you know what you’re doing
  • Industry standard - Real developers use SSH keys, period

How SSH Keys Work

SSH authentication uses a pair of mathematically related keys:

  1. Private key - Stays securely on your computer (never share this!)
  2. Public key - Uploaded to GitHub/GitLab (safe to share)

When you try to access a repository, the remote server uses your public key to verify that you possess the corresponding private key, without your private key ever leaving your machine.

The Professional Development Impact

Setting up SSH keys is a hallmark of professional development practices:

  • Efficiency - No authentication delays when pushing code multiple times per day
  • Security compliance - Many companies require SSH key authentication
  • Team collaboration - Easier to participate in team repositories and code reviews
  • Automation friendly - Scripts and CI/CD pipelines work better with SSH keys

When You’ll Actually Appreciate This

Trust me, SSH keys become a lifesaver when you:

  • Work on multiple projects and get tired of typing passwords constantly
  • Push code 10+ times a day (which you will)
  • Join a team and don’t want to look like a complete newbie
  • Try to set up any kind of automation (spoiler: it won’t work with passwords)
  • Realize you’re spending more time typing credentials than actual coding

Actually Setting This Up

So, I could write out all the steps here, but GitHub already did the work for us. Just follow their guide:

Adding a New SSH Key to Your GitHub Account

Yes, it looks intimidating. But it’s basically:

  1. Generate some keys on your computer
  2. Copy the public one to GitHub
  3. Test that it works
  4. Never type your password again

Worth the 15 minutes, trust me.

What Happens After Setup

Once you’ve got this working:

  • git push just works (no more password prompts!)
  • Clone repos with SSH URLs like git@github.com:username/repo.git
  • Feel like an actual developer instead of someone constantly fighting with authentication
  • Save literally hours per week not typing passwords

Seriously, this 15-minute setup will save you hours of frustration. Future you will thank present you.

Pro Tip: After setting up SSH keys, make sure to clone repositories using SSH URLs (the ones that start with git@github.com) rather than HTTPS URLs. Otherwise you’re still stuck typing passwords like a peasant.