Confira o remoto e o protocolo
Execute o comando dentro do repositório. Um remoto HTTPS usa credenciais HTTPS; corrigir uma chave SSH não altera essa conexão. Uma URL SSH do GitHub normalmente começa com git@github.com:.
git remote -vNo github.com, o usuário SSH é git, não o nome da sua conta. Confira o proprietário e o nome do repositório antes de mudar o remoto. Trocar o protocolo pode esconder a causa original.
Confira as chaves disponíveis no agente
Liste as identidades disponíveis no agente SSH da sessão. Não haver identidades é diferente de o agente estar indisponível. A configuração depende do sistema operacional e do terminal.
ssh-add -lSe a chave existente não estiver carregada, adicione seu caminho real, por exemplo ssh-add ~/.ssh/id_ed25519. Cadastre a chave pública .pub correspondente na conta GitHub correta. Mantenha a chave privada no dispositivo; não a cole em um site.
Teste a autenticação com o GitHub
Antes de aceitar uma nova chave do servidor, compare sua impressão digital com as impressões SSH publicadas pelo GitHub, acessíveis pelo guia oficial abaixo. Depois execute o teste.
ssh -T git@github.comA mensagem de sucesso do GitHub identifica sua conta e informa que não oferece acesso shell. Esse teste bem-sucedido normalmente termina com código 1. Se continuar falhando, ssh -vT git@github.com mostra as identidades oferecidas. Usar Git com sudo pode selecionar as chaves de outro usuário.
Separe autenticação e acesso ao repositório
Depois de um teste SSH bem-sucedido, confira a leitura do repositório. O comando lista referências remotas sem alterar branches locais.
git ls-remote originA conta autenticada também precisa de acesso ao repositório. Confira a URL, a participação na organização e a autorização SSO necessária. Uma deploy key pode estar limitada a um repositório. Se nenhuma chave existir, siga a configuração do provedor sem sobrescrever uma chave existente.