Esta é minha primeira vez acessando o GitHub e não tenho experiência em usar um console. Estou em um MacBook usando o Bash. Quando tento acessar o GitHub, recebo o seguinte:
git clone git@github.com:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Tentei seguir as instruções na página do Github sobre permissão negada.
Quando uso ssh -vT [email protected]
, recebo o seguinte:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Em seguida, eval "$(ssh-agent -s)"
retorna "Agente pid 2314", no entanto ssh-add -l
retorna "O agente não tem identidades".
E é aí que estou preso.
bash
github
ssh
permission-denied
public-key
Sombrio
fonte
fonte
Respostas:
Detalhes completos nesta resposta .
Em resumo, quando
ssh-add -l
retorna “O agente não tem identidades”, isso significa que as chaves utilizadas pelossh
(armazenados em arquivos, como~/.ssh/id_rsa
,~/.ssh/id_dsa
, etc.) estão ausentes, eles não são conhecidos porssh-agent
, que é o agente de autenticação, ou que suas permissões estão configurados incorretamente (por exemplo, gravável no mundo).Se suas chaves estiverem ausentes ou se você não tiver gerado nenhuma, use
ssh-keygen -t rsa
essh-add
adicione-as.Se as chaves existem, mas não são conhecidas
ssh-agent
(como se estivessem em uma pasta não padrão), use-asssh-add /path/to/my-non-standard-ssh-folder/id_rsa
para adicioná-las.Veja esta resposta se você estiver tendo problemas com
ssh-add
oussh-agent
.fonte
ssh-add /path/to/keyX
cada uma delas, especialmente se elas tiverem nomes não-padrão. Detalhes aqui: stackoverflow.com/questions/3225862/… (uma boa resposta)ssh-add
novamente depois de resolver a parte de permissões do problema. Depois disso,ssh -vT [email protected]
não funcionou. Eu precisava adicionar o caminho absoluto, como o comentador acima mencionado. Então, foi tudo molho.tente isto:
trabalhou para mim
fonte
chmod 600 ~/.ssh/id_rsa
, entãossh-add ~/.ssh/id_rsa
A RESPOSTA DE 2019 para o macOS Sierra e High Sierra e Catalina:
PS: a maioria das outras respostas fará com que você crie uma nova chave ssh ... mas você não precisa fazer isso :)
Conforme descrito em detalhes em https://openradar.appspot.com/27348363 , o macOS / OS X até o Yosemite costumava lembrar as chaves SSH adicionadas pelo comando
ssh-add -K <key>
Então, aqui estão as quatro etapas que eu tive que executar para que funcionasse:
1:
ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
2: Adicione o seguinte em
~/.ssh/config
3: certifique-se de remover qualquer entrada gitconfig que use o osxkeychain helper:
4: reinicie seu terminal para que ele entre em vigor.
fonte
Fui preso por um tempo no mesmo problema, que acabei resolvendo.
Meu problema : não consegui executar nenhum push. Eu pude verificar e ver meu controle remoto (usando
git remote -v
), mas quando o executeigit push origin master
, ele retornou:Permission denied (publickey). fatal: Could not read from remote repository.
e assim.Como eu resolvi isso:
ssh-keygen -t rsa
. A inserção de um nome para o arquivo de chave (quando solicitado) era inútil.ssh-add /Users/federico/.ssh/id_rsa
, que retornou com sucessoIdentity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
ssh-add -l
comando funcionou / parecia útil (depois de executar as etapas anteriores), ele retornou minha chave com êxito. A última etapa mostra onde você deve verificar sua chave pública na sua página do GitHub. E este comando irá ajudar a verificar todas as suas chaves:ls -al ~/.ssh
.Então o comando push funcionou!
Espero que isso ajude ! Boa sorte a todos.
fonte
Execute os seguintes comandos:
Acesse sua conta do Github: https://github.com/settings/profile
1) Clique em: Chaves SSH e GPG
2) Nova chave SSH e colada lá
3) Adicionar chave SSH
Feito!
fonte
primeiro de tudo você precisa ir no seu diretório ssh
para este tipo seguindo o comando no seu terminal no mac ou o que você usar na janela
agora está no ssh
aqui você pode encontrar todos os arquivos / chaves ssh relacionados a todos os seus projetos. Agora, digite o seguinte comando para mostrar se há alguma chave ssh disponível
isso mostrará todos os ssh disponíveis; no meu caso, havia dois
agora, você precisará iniciar um agente para adicionar um ssh nele. Para este tipo, seguindo o comando
Agora, por último, mas não menos importante, você adicionará um ssh neste tipo de agente, seguindo o comando
substituir
fonte
Isso pode causar, para qualquer novo terminal, a identificação do agente é diferente. Você precisa adicionar a chave privada do agente
fonte
Um elemento adicional que percebi é que normalmente a pasta .ssh é criada na sua pasta raiz no Mac OS X / Users /. Se você tentar usar ssh -vT [email protected] de outra pasta, ocorrerá um erro mesmo que você tenha adicionado a chave correta.
Você precisa adicionar a chave novamente (ssh-add 'caminho correto para id_rsa') da pasta atual para se autenticar com êxito (supondo que você já tenha carregado a chave no seu perfil no Git)
fonte
Isso funcionou para mim:
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub
Em seguida, digite este:
ssh-add ~/.ssh/id_rsa
fonte
~/.ssh
permissões. Ainda assim, você pode melhorar bastante sua resposta adicionando o comando completo (aquichmod
) e explicando o que isso faz e por que é necessário.Depois de muito tempo, finalmente consegui resolver esse problema no Windows. Para mim, a variável Env do usuário GIT_SSH foi configurada para apontar para
que foi instalado junto com o WinScp. Eu mudei o apontador para usar o padrãoAlterei ssh.exe que vem com o git-scm "C: \ Arquivos de Programas \ Git \ usr \ bin \ ssh.exe"
fonte
Etapas para BitBucket:
se você não quiser gerar uma nova chave, SKIP ssh-keygen
Copie a chave pública para a área de transferência:
Faça logon no bucket de bits: vá para View Profile -> Settings -> SSH Keys (na guia Security) Clique em Add Key, cole a chave na caixa e adicione um título descritivo
Volte ao Git Bash:
Voce deveria pegar :
Agora:
git pull
deve funcionarfonte
Eu tive esse problema depois de restaurar um disco rígido de um backup.
Meu problema: eu podia verificar e ver meu controle remoto (usando o git remote -v), mas quando executei o git push origin master, ele retornou: Permissão negada (publickey). fatal: Não foi possível ler do repositório remoto.
Eu já tinha uma pasta SSH e chaves SSH, e adicioná-las via Terminal (
ssh-add /path/to/my-ssh-folder/id_rsa
) adicionei com sucesso minha identidade, mas ainda não consegui enviar e recebi o mesmo erro. Gerar uma nova chave foi uma má ideia para mim, porque estava ligada a outras permissões muito seguras na AWS.Acabou que o link entre a chave e meu perfil do Github havia quebrado.
Solução: Adicionar novamente a chave ao Github em Perfil> Configurações> Chaves SSH e GPG resolveu o problema.
Além disso: minha conta tinha a autenticação de dois fatores configurada. Nesse caso, se o Terminal solicitar credenciais, use seu nome de usuário - mas NÃO sua senha do Github. Para autenticação de dois fatores, você precisa usar seu código de autenticação (para mim, isso foi gerado pelo Authy no meu telefone e eu tive que copiá-lo no Terminal para o pw).
fonte