Skip to content

Instantly share code, notes, and snippets.

@sheraz-haider
Forked from developius/README.md
Last active September 21, 2021 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sheraz-haider/41e9ef9280ee97e8f32888783747f0a1 to your computer and use it in GitHub Desktop.
Save sheraz-haider/41e9ef9280ee97e8f32888783747f0a1 to your computer and use it in GitHub Desktop.
Setup SSH keys for use with GitHub/GitLab/BitBucket etc

Create a new repository, or reuse an existing one.

Generate a new SSH key:

ssh-keygen -t ed25519 -C "your_email@example.com"  

Note: If you are using a legacy system that doesn't support the Ed25519 algorithm, use:

ssh-keygen -t rsa -C "your_email@example.com"

OR

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Copy the contents of the file ~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub to your SSH keys in your GitHub account settings (https://github.com/settings/keys).

Add private key to ssh agent

# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566  

$ ssh-add ~/.ssh/id_ed25519

Test SSH key:

$ ssh -T git@github.com
Hi Sheraz Haider! You've successfully authenticated, but GitHub does not provide shell access.

For New Project
Clone the project and cd into it

git clone git@github.com:username/your-repository.git
cd your-repository

For Existing Project
Change directory into the local clone of your repository (if you're not already there) and run:

git remote set-url origin git@github.com:username/your-repository.git

Now try editing a file and then do:

$ git commit -m "Commit Message"
$ git push

You should not be asked for a username or password. If it works, your SSH key is correctly configured.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment