Skip to content
Closed
9 changes: 5 additions & 4 deletions content/authentication/connecting-to-github-with-ssh/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Connecting to GitHub with SSH
intro: 'You can connect to {% data variables.product.github %} using the Secure Shell Protocol (SSH), which provides a secure channel over an unsecured network.'
intro: "You can connect to GitHub using the Secure Shell Protocol (SSH), which provides a secure channel over an unsecured network."
redirect_from:
- /key-setup-redirect
- /linux-key-setup
Expand All @@ -11,10 +11,11 @@ redirect_from:
- /articles/generating-an-ssh-key
- /articles/connecting-to-github-with-ssh
- /github/authenticating-to-github/connecting-to-github-with-ssh
- /setting-up-ssh-authentication-for-github
versions:
fpt: '*'
ghes: '*'
ghec: '*'
fpt: "*"
ghes: "*"
ghec: "*"
topics:
- SSH
children:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: "Setting up SSH Authentication for GitHub"
intro: "Guide to set up SSH authentication for GitHub"
redirect_from:
- /articles/setting-up-ssh-authentication-for-github
- /github/authenticating-to-github/setting-up-ssh-authentication-for-github
versions:
fpt: "*"
ghes: "*"
ghec: "*"
topics:
- SSH
shortTitle: "Set up SSH Authentication"
type: tutorial
---

# Step-by-Step: Setting Up SSH Authentication for GitHub

This guide explains how to set up SSH and push code to GitHub step by step.

## 1. Generate SSH Key

Create a new SSH key for authentication.

```bash
ssh-keygen -t ed25519 -C "[email protected]"
```

Press Enter to save the key in the default location (~/.ssh/id_ed25519).

Add a passphrase for extra security (optional).

## 2. Add SSH Key to SSH Agent

Start the SSH agent and add your private key for automatic authentication.

```bash
eval "$(ssh-agent -s)" # Start the SSH agent
ssh-add ~/.ssh/id_ed25519 # Add the private key
```

## 3. Copy Public Key

Copy your public key to add it to GitHub.

```bash
cat ~/.ssh/id_ed25519.pub # Show the public key
```

## 4. Add SSH Key to GitHub

Go to GitHub: Settings > SSH and GPG Keys > New SSH Key.

Paste your public key into the provided box and give it a title.

## 5. Test SSH Connection

Verify the connection to GitHub.

```bash
ssh -T [email protected]
```

You should see a message like: Hi username! You've successfully authenticated, but GitHub does not provide shell access.

## 6. Set SSH URL for Existing Repository

If the repository already exists and uses HTTPS, change it to SSH.

```bash
git remote set-url origin [email protected]:username/repository.git
```

## 7. Clone Repository (Optional)

To download a repository using SSH:

```bash
git clone [email protected]:username/repository.git
```

## 8. Make Changes and Push

Stage your changes:

```bash
git add .
```

Commit your changes with a message:

```bash
git commit -m "Your commit message"
```

Push the changes to GitHub:

```bash
git push origin main
```
Loading