Connecting to GitHub with SSH: A Step-by-Step Guide
Using SSH to interact with GitHub is more secure and convenient than using HTTPS. Setting it up is a quick process that removes the need to enter your credentials every time. Let's walk through how to generate an SSH key, configure it, and add it to your GitHub account. 🔑
Step 1: Generate a New SSH Key
First, we need to create the key pair on your local machine. Open your terminal and follow these commands.
- Create the
.sshdirectory if it doesn't exist.mkdir -p ~/.ssh chmod 700 ~/.ssh cd ~/.ssh - Generate the key. GitHub's recommended standard is ED25519. Replace the email with the one associated with your GitHub account.
ssh-keygen -t ed25519 -C "your_email@example.com"When prompted, press Enter to accept the default file location (
~/.ssh/id_ed25519) and to skip creating a passphrase for now.
Step 2: Create an SSH Config File
The config file tells your system which key to use for which host. This step is crucial for managing multiple keys or ensuring the correct key is always used for GitHub.
- Create and open the config file using a terminal editor like
vimornano.vim ~/.ssh/config - Add the following configuration. This tells SSH to use the
id_ed25519key whenever you connect togithub.com.Host github.com HostName github.com IdentityFile ~/.ssh/id_ed25519 User git - Save and quit. In
vim, pressEsc, then type:wqand pressEnter.
💡 Why is this file important? Without it, your system might not know which key to present to GitHub. This file explicitly links the host (github.com) to the correct identity file (your key).
Step 3: Add Your SSH Public Key to GitHub
Now, you need to tell GitHub about your public key so it recognizes your machine.
- Copy the public key to your clipboard.
cat ~/.ssh/id_ed25519.pub - Add the key to your GitHub account.
- Navigate to GitHub and go to Settings.
- In the sidebar, click SSH and GPG keys.
- Click New SSH key.
- Give it a descriptive Title (e.g., "My Work Laptop").
- Paste your copied public key into the Key field.
- Click Add SSH key.
Step 4: Test Your Connection
Let's make sure everything is working correctly. Back in your terminal, run:
ssh -T git@github.com
If it's your first time connecting, you'll see a host authenticity warning. Type yes and press Enter.
A successful connection will show a welcome message with your username:
> Hi username! You've successfully authenticated, but GitHub does not provide shell access.
You're All Set! 🎉
That's it! Your machine is now fully configured to communicate with GitHub via SSH. You can now clone, pull, and push to your repositories using SSH URLs, like git clone git@github.com:username/your-repo.git.



Comments
Post a Comment