O comando sudo ou os privilégios elevados devem ser usados com o Git?
Você não deve usar o comando sudo nem privilégios elevados, como permissões de administrador, com o Git. Se tiver uma razão muito boa para usar o sudo, use-o com todos os comandos (provavelmente, é melhor usar o su para obter um shell como raiz neste ponto). Se você gerar chaves SSH sem o sudo e tentar usar um comando como sudo git push, as mesmas chaves geradas não serão usadas.
Verifique se está conectado ao servidor correto
Sabemos que digitar é difícil. Preste atenção ao que digita; você não conseguirá se conectar a "githib.com" ou "guthub.com". Em alguns casos, uma rede corporativa também pode causar problemas ao resolver o registro DNS.
Insira o segunte comando para confirmar que está conectado ao domínio correto:
$ ssh -vT git@HOSTNAME
> OpenSSH_8.1p1, LibreSSL 2.7.3
> debug1: Reading configuration data /Users/YOU/.ssh/config
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug1: /etc/ssh/ssh_config line 47: Applying options for *
> debug1: Connecting to HOSTNAME port 22.
A conexão deve ser feita na porta 22.
Sempre utilize o usuário "git"
Todas as conexões devem ser feitas como usuário "git", inclusive aquelas para URLs remotas. Se você tentar se conectar com o seu GitHub Enterprise Server nome de usuário, ocorrerá um erro:
$ ssh -T GITHUB-USERNAME@HOSTNAME
> Permission denied (publickey).
Se a conexão falhar e você estiver usando uma URL remota com seu nome de usuário do GitHub Enterprise Server, altere a URL remota para usar o usuário "git".
Verifique sua conexão digitando:
$ ssh -T git@HOSTNAME
> Hi USERNAME! You've successfully authenticated...
Garanta que você tem uma chave que está em uso
- 
Abra TerminalTerminalGit Bash. 
- 
Verifique se você tem uma chave privada gerada e carregada em SSH. # start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566 $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
Se você tiver o GitHub Desktop instalado, poderá usá-lo para clonar repositórios e não lidar com chaves SSH.
- 
Se você estiver usando o Git Bash, ative o ssh-agent: # start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566Se você estiver usando outro prompt de terminal, como o Git para Windows, ative o ssh-agent: # start the ssh-agent in the background $ eval $(ssh-agent -s) > Agent pid 59566Observação: os comandos eval acima iniciam o ssh-agent manualmente em seu ambiente. Esses comandos poderão falhar se o ssh-agent já estiver sendo executado como um serviço do sistema em segundo plano. Se isso acontecer, recomendamos que você verifique a documentação relevante para o seu ambiente. 
- 
Verifique se você tem uma chave privada gerada e carregada em SSH. $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
- 
Abra TerminalTerminalGit Bash. 
- 
Verifique se você tem uma chave privada gerada e carregada em SSH. $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
O comando ssh-add deve imprimir uma longa cadeia de caracteres de números e letras. Se ele não imprimir nada, você precisará gerar uma nova chave SSH e associá-la ao GitHub Enterprise Server.
Dica: na maioria dos sistemas, as chaves privadas padrão (~/.ssh/id_rsa e ~/.ssh/identity) são adicionadas automaticamente ao agente de autenticação SSH. Você não precisará executar ssh-add path/to/key, a menos que substitua o nome do arquivo ao gerar uma chave.
Obter mais detalhes
Você também pode verificar se a chave está sendo usada tentando se conectar a git@[hostname]:
$ ssh -vT git@HOSTNAME
> ...
> debug1: identity file /Users/YOU/.ssh/id_rsa type -1
> debug1: identity file /Users/YOU/.ssh/id_rsa-cert type -1
> debug1: identity file /Users/YOU/.ssh/id_dsa type -1
> debug1: identity file /Users/YOU/.ssh/id_dsa-cert type -1
> ...
> debug1: Authentications that can continue: publickey
> debug1: Next authentication method: publickey
> debug1: Trying private key: /Users/YOU/.ssh/id_rsa
> debug1: Trying private key: /Users/YOU/.ssh/id_dsa
> debug1: No more authentication methods to try.
> Permission denied (publickey).
Nesse exemplo, não temos nenhuma chave SSH para usar. "-1" ao final das linhas "arquivo de identificação" indica que o SSH não conseguiu encontrar um arquivo para usar. Mais adiante, as linhas "Tentando chave privada" também indicam que o arquivo não foi encontrado. Se existisse um arquivo, as linhas seriam respectivamente "1" e "Apresentando chave pública":
$ ssh -vT git@HOSTNAME
> ...
> debug1: identity file /Users/YOU/.ssh/id_rsa type 1
> ...
> debug1: Authentications that can continue: publickey
> debug1: Next authentication method: publickey
> debug1: Offering RSA public key: /Users/YOU/.ssh/id_rsa
Verifique se a chave pública está associada à sua conta
Forneça sua chave pública a GitHub Enterprise Server para estabelecer uma conexão segura.
- 
Abra o terminal. 
- 
Inicie o SSH agent em segundo plano. $ eval "$(ssh-agent -s)" > Agent pid 59566
- 
Encontre e anote a impressão digital da chave pública. $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
- 
No canto superior direito de qualquer página, clique na foto do seu perfil e em Configurações.  
- 
Na seção "Acesso" da barra lateral, clique em Chaves SSH e GPG. 
- 
Compare a lista de chaves SSH com a saída do comando ssh-add.
- 
Abra a linha de comando. 
- 
Inicie o SSH agent em segundo plano. $ ssh-agent -s > Agent pid 59566
- 
Encontre e anote a impressão digital da chave pública. $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
- 
No canto superior direito de qualquer página, clique na foto do seu perfil e em Configurações.  
- 
Na seção "Acesso" da barra lateral, clique em Chaves SSH e GPG. 
- 
Compare a lista de chaves SSH com a saída do comando ssh-add.
- 
Abra o terminal. 
- 
Inicie o SSH agent em segundo plano. $ eval "$(ssh-agent -s)" > Agent pid 59566
- 
Encontre e anote a impressão digital da chave pública. Se estiver usando OpenSSH 6.7 ou anterior: $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA)Se estiver usando OpenSSH 6.8 ou posterior: $ ssh-add -l -E md5 > 2048 MD5:a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA)
- 
No canto superior direito de qualquer página, clique na foto do seu perfil e em Configurações.  
- 
Na seção "Acesso" da barra lateral, clique em Chaves SSH e GPG. 
- 
Compare a lista de chaves SSH com a saída do comando ssh-add.
Se a chave pública não for exibida no GitHub Enterprise Server, você precisará adicionar sua chave SSH ao GitHub Enterprise Server para associá-la ao computador.
Aviso: se você receber uma chave SSH com a qual não esteja familiarizado no GitHub Enterprise Server, exclua-a imediatamente e entre em contato com o seu administrador do site para obter mais ajuda. Uma chave pública desconhecida pode indicar um possível problema de segurança. Para obter mais informações, confira "Revisar suas chaves SSH".