Skip to content

Instantly share code, notes, and snippets.

@asksven
Created April 2, 2016 20:48
Show Gist options
  • Save asksven/b37e8d83eca7f77484be9dd7af2b98e6 to your computer and use it in GitHub Desktop.
Save asksven/b37e8d83eca7f77484be9dd7af2b98e6 to your computer and use it in GitHub Desktop.
If 2fa is enabled on github switch to ssh instead of https on linux
1. generate an ssh keypair on your linux box
ssh-keygen -t {rsa|dsa}
2. add the public key to github: profile - settings - ssh keys
3. switch from https to ssh
Check your repo remote:
git remote -v
should show:
origin https://github.com/USERNAME/REPOSITORY.git (fetch)
origin https://github.com/USERNAME/REPOSITORY.git (push)
Change the remote:
git remote set-url origin git@github.com:USERNAME/OTHERREPOSITORY.git
verify:
git remote -v
should show:
origin git@github.com:USERNAME/OTHERREPOSITORY.git (fetch)
origin git@github.com:USERNAME/OTHERREPOSITORY.git (push)
@Visual-Dawg
Copy link

Thank you!

@HelenGuohx
Copy link

Thank you, it works

@aster-hu
Copy link

Thanks! Works like a charm and it helps me resolve the error "fatal: could not read Username for 'https://github.com': Device not configured"

@xiaohaoo
Copy link

xiaohaoo commented Feb 1, 2024

Is there a more elegant way?

@sherry-channel-capital
Copy link

sherry-channel-capital commented Feb 21, 2024

@xiaohaoo It's not that complicated, just switch the URL with a simple command or git clone the SSH URI if it's a new setup. No need to complicate it, what more elegance would you expect?

@phisad
Copy link

phisad commented Mar 27, 2024

Amazing! Thanks!

@codernirdesh
Copy link

When changing origin is not an option we can use this config:

git config --global url."ssh://git@github.com".insteadOf "https://github.com"

This got helpful for me. Thank you. ❤️

@lucas-pcs
Copy link

Useful ! thanks !

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