Descobrir onde a chave foi usada
Para determinar o local em que a chave já foi usada, abra um terminal e digite o comando ssh
. Use o sinalizador -i
para fornecer o caminho para a chave que deseja verificar:
$ ssh -T -ai ~/.ssh/id_rsa git@HOSTNAME
# Connect to sua instância do GitHub Enterprise Server using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
O nome de usuário na resposta é a conta em sua instância do GitHub Enterprise Server à qual a chave está anexada no momento. Se a resposta se parece com "nome de usuário/repositório", a chave foi anexada a um repositório como uma chave de implantação.
Para forçar o SSH a usar apenas a chave fornecida na linha de comando, use -o
para adicionar a opção IdentitiesOnly=yes
:
ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@HOSTNAME
Corrigir o problema
Para resolver o problema, primeiro, remova a chave da outra conta ou do outro repositório e adicione-a à sua conta.
Se você não tiver permissões para transferir a chave e não puder entrar em contato com um usuário que consiga fazer isso, remova as chaves e gere outras.
Chaves de implantação
Depois que uma chave tiver sido vinculada a um repositório como uma chave de implantação, ela não poderá ser usada em outro repositório. Se estiver encontrando esse erro ao configurar chaves de implantação, confira "Gerenciar chaves de implantação".