Create a new repository, or reuse an existing one.
Generate a new SSH key:
ssh-keygen -t rsa -C "[email protected]"
Copy the contents of the file ~/.ssh/id_rsa.pub
to your SSH keys in your GitHub account settings (https://github.com/settings/keys).
Test SSH key:
$ ssh -T [email protected]
Hi developius! You've successfully authenticated, but GitHub does not provide shell access.
Change directory into the local clone of your repository (if you're not already there) and run:
git remote set-url origin [email protected]:username/your-repository.git
Now try editing a file (try the README) and then do:
$ git commit -am "Update README.md"
$ git push
You should not be asked for a username or password. If it works, your SSH key is correctly configured.
If anyone using this in CI or script with
set -e
enabled, do notessh -T [email protected]
exits with non-zero, which prevent subsequent commands (like git push) from running. You can force exit code zero by using,Or in YML,
- ssh -T [email protected] || ":"