5
respostas

Permission Denied (publickey)

Olá comunidade,

Ao realizar os comandos para linkar com o git remoto, nada dá certo, o git fetch origin diz também que a permissão é nega.

crist@DESKTOP-TII65V0 MINGW64 ~/Desktop/BIN/curso-git (master) $ git fetch origin Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Já loguei com meu usuário e email que uso no github, mas sem sucesso.

5 respostas

Oi, Cristian, tudo bem?

Esse erro está relacionado à chave do SSH, ele não consegue autenticar você. Acredito que você esteja linkando o (um exemplo do meu repositório): git@github.com:laiscavalcanti/Project-System.git

Mas para usar a chave pública no GitHub precisa-se configurar no seu pc ou também pode ser que a chave SSH não está associada à sua conta no GitHub.

Acho que você tá usando login e senha, certo? Nesse caso precisa ser o link do HTTPS: https://github.com/laiscavalcanti/Project-System.git

Observou como os endereços são diferentes?

Testa e me fala se deu certo :}

Oi Cristian, vamos resolver isso ?

vamos lá! Os próximos passos assumem que você nunca fez essa configuração na sua máquina e que vai seguir exatamente o que eu tô falando, ok?

1- Precisamos gerar uma chave SSH que seu computador vai usar pra se autorizar com o Github. Digite o seguinte comando no Git Bash:

ssh-keygen -t rsa -b 4096 -C "seu_email@dominio.com"(lembre-se de trocar o e-mail) O resultado será:

Generating public/private rsa key pair.Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]Você quer salvar a chave nesse arquivo mesmo, só dê enter.

Depois, ele vai pedir uma senha:

Enter passphrase (empty for no passphrase): [Type a passphrase]Enter same passphrase again: [Type passphrase again]Essa senha você vai ter que digitar toda vez que for baixar algo de um repositório ou enviar algo pra lá. Eu deixo sem mesmo. Se quiser deixar sem, só dê enter. Se não, coloque a senha e confirme.

Em seguida, você verá uma mensagem dizendo que deu tudo certo:

Your identification has been saved in /Users/you/.ssh/id_rsa.

Your public key has been saved in /Users/you/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db seuemail@dominio.com

2- Agora, precisamos adicionar a chave que criamos ao ssh-agent. Primeiro, vamos ativa-lo:

ssh-agent -sEm seguida, vamos adicionar a chave que geramos ao ssh-agent:

ssh-add ~/.ssh/id_rsa3- Agora, vamos associar a chave que geramos à nossa conta do Github. Para copiar a chave do bash, digite o seguinte comando:

clip < ~/.ssh/id_rsa.pubA chave agora está no nosso ctrl+v :P

Abra o Github no navegador, faça o login e selecione a opção settings em seu menu: No menu lateral esquerdo, escolha a opção SSH Keys e depois clique no botão Add SSH key:

Em title, coloque o nome que você quiser dar pra essa chave. Você pode colocar o nome que quiser, não faz diferença. Em key, cole a chave que você copiou do terminal com ctrl-v. Se não funcionar, volte uns passos acima e copie novamente. Clique em Add Key:

Fizemos tudo isso para configurar seu Git com a sua conta do Github. Vamos ver se funcionou?

Testando a configuração Digite o seguinte no Git Bash:

ssh -T git@github.comO resultado deve ser:

The authenticity of host 'github.com (207.97.227.239)' can't be established.

RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

Are you sure you want to continue connecting (yes/no)?

Digite yes e aperte enter.

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

Lembrando que isso é muito mais simples de se fazer com uma IDE.

Espero ter ajudado e bons estudos.

Maicon eu segui todos os seus passos no entanto, o último passo do ssh -T git@github.com mostra a mensagem "ssh: connect to host github.com port 22: Connection timed out"

Oi Cristian tá executando de uma empresa ou de casa pode ser que algo esteja bloqueando sua porta.

O motivo pode ser a modificação do firewall, pois você está sob uma rede (nesse caso, eles podem bloquear deliberadamente algumas portas) Para verificar novamente se essa é a razão ...

ssh -T git@github.com isso deve expirar. Se for esse o caso, use o protocolo http em vez de ssh desta forma apenas mude o seu url no arquivo de configuração para http. Aqui está como :-

git config --local -e alterar a entrada de

url = git@github.com:username/repo.git para

url = https://github.com/username/repo.git

Testa aí e me fala.

Segue outra ajuda com outras opções para solução: Usando o SSH pela porta HTTPS Às vezes, os firewalls se recusam a permitir conexões SSH por completo. Se o uso de clonagem HTTPS com o armazenamento em cache de credenciais não for uma opção, você poderá tentar clonar usando uma conexão SSH feita pela porta HTTPS. A maioria das regras de firewall deve permitir isso, mas os servidores proxy podem interferir.

Usuários do GitHub Enterprise : o acesso ao GitHub Enterprise via SSH pela porta HTTPS não é suportado atualmente.

Para testar se o SSH sobre a porta HTTPS é possível, execute este comando SSH:

$ ssh -T -p 443 git@ssh.github.com

Hi username! You've successfully authenticated, but GitHub does not provide shell access. Se isso funcionou, ótimo! Caso contrário, talvez seja necessário seguir nosso guia de solução de problemas .

Ativando conexões SSH por HTTPS Se você conseguir acessar o SSH na git@ssh.github.comporta 443, poderá substituir suas configurações de SSH para forçar qualquer conexão ao GitHub a ser executada através desse servidor e porta.

Para definir isso em sua configuração ssh, edite o arquivo em ~/.ssh/confige adicione esta seção:

Host github.com Hostname ssh.github.com Port 443 Você pode testar se isso funciona conectando-se mais uma vez ao GitHub:

$ ssh -T git@github.com

Hi username! You've successfully authenticated, but GitHub does not provide shell access.