Skip to content

Add article about 'Setting Up SSH Authentication for GitHub' #37284

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ 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: '*'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: Setting Up SSH Authentication for GitHub
intro: 'Learn how to securely connect to GitHub using SSH keys for seamless repository access and code pushing'
versions:
free-pro-team: '*'
enterprise-server: '*'
enterprise-cloud: '*'
type: tutorial
topics:
- SSH
- Authentication
- GitHub
- Security
---

# 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 "your_email@example.com"
```

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 git@github.com
```

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 git@github.com:username/repository.git
```

## 7. Clone Repository (Optional)

To download a repository using SSH:

```bash
git clone git@github.com: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