To determine where the key has already been used, open a terminal and type the
ssh command. Use the
-i flag to provide the path to the key you want to check:
$ ssh -T -ai ~/.ssh/id_rsa email@example.com # Connect to GitHub using a specific ssh key > Hi username! You've successfully authenticated, but GitHub does not > provide shell access.
The username in the response is the GitHub account that the key is currently attached to. If the response looks something like "username/repo", the key has been attached to a repository as a deploy key.
To resolve the issue, first remove the key from the other account or repository and then add it to your account.
If you don't have permissions to transfer the key, and can't contact a user who does, remove the keypair and generate a brand new one.
Once a key has been attached to one repository as a deploy key, it cannot be used on another repository. If you're running into this error while setting up deploy keys, see "Managing deploy keys."