Estou usando o TortoiseGit no Windows. Quando estou tentando clonar a partir do menu de contexto do Windows Explorer padrão, recebo este erro:
Certifique-se de que possui os direitos de acesso corretos e de que o repositório existe
Mais precisamente, o instantâneo do terminal é o seguinte:
clone git.exe --progress -v "git @ arobotdev: \ git \ AlfaRobot.git" "C: \ Work \ AlfaRobot"
Clonando em 'C: \ Work \ AlfaRobot' ...
Permissão negada, tente novamente.
Permissão negada, por favor tente novamente.
Permissão negada (chave pública, senha).
fatal: não foi possível ler do repositório remoto.
Certifique-se de que possui os direitos de acesso corretos
e de que o repositório existe.
git não saiu corretamente (código de saída 128) (21450 ms @ 19.09.2014 10:36:58)
O que devo fazer para fazer o git funcionar corretamente?
fonte
$ ssh-keygen -t rsa -C "[email protected]"
Respostas:
Seu URL git pode ter mudado. Altere o URL no diretório local usando o seguinte comando
fonte
git remote set-url origin https://github.com/username/repository.git
git
ehttps
.XXXXXXX
?xclip -sel clip < ~/.ssh/id_rsa.pub
, mas durante a colagem na caixa de entrada de chave do github, removi a última nova linha usando backspace, que na verdade mudou a chave pública. Portanto, sempre copie e cole a chave pública ssh sem remover a última nova linha.Esse problema pode estar ocorrendo com seu agente ssh, sua chave ssh não foi adicionada com ssh-agent. Você deve aplicar as seguintes etapas usando seu terminal: -
$ eval "$ (ssh-agent -s)"
Agente pid 5867
$ ssh-add
Digite a senha de /home/you/.ssh/id_rsa: [] Identidade adicionada: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
então vai funcionar ... cheers J.
fonte
fatal: Could not read from remote repository.
brew update
. quando eu corrissh-add
antes de executar o comando, funcionou. espero não ter que repetir isso o tempo todo.Tente usar HTTPS em vez de SSH enquanto clona do GIT, use este Url para clone, você pode usar Gitbase, Android Studio ou qualquer outra ferramenta para clonar o branch.
fonte
Para mim, foi por causa de nenhuma chave SSH na máquina. Verifique a chave SSH localmente:
Esta é sua chave SSH. Adicione-o às suas chaves SSH no repositório.
No gitlab vá para
e adicione a chave
fonte
O Github agora usa um esquema de url
git remote set-url origin https://github.com/username/repository.git
fonte
Você está tentando clonar o repositório por meio de ssh:
git@arobotdev...
e suas chaves SSH não estão configuradas corretamente no servidor. Existem vários motivos para isso:Se todos os 3 acima forem falsos, então minha única conclusão pode ser tentar:
git@arobotdev:AlfaRobot.git
Supondo que AlfaRobot.git esteja no HOMEDIR do usuário git e não dentro de uma pasta chamada git que reside no HOMEDIR do usuário git.fonte
O rsa.pub (ou seja, chave pública gerada), precisa ser adicionado na página github >> configurações >> chaves ssh. Verifique se você não adicionou esta chave pública nas configurações do repositório >> chaves de implantação. Em caso afirmativo, remova a entrada daqui e adicione ao primeiro local mencionado.
Configuração detalhada das chaves pub-private .
Vai funcionar daqui!
fonte
A primeira coisa que você pode querer confirmar é a conexão com a Internet. Porém, os problemas de Internet dirão principalmente que o repo não pode ser acessado.
Certifique-se de configurar o ssh localmente e em seu github. Veja como
Certifique-se de usar o ssh git remote. Se você clonou o https, basta definir a url para a url ssh, com este comando git
git remote set-url origin [email protected]:your-username/your-repo-name.git
Se você configurou o ssh corretamente, mas ele simplesmente parou de funcionar, faça o seguinte:
eval "$(ssh-agent -s)"
ssh-add
Se você ainda estiver tendo o problema, verifique se você não excluiu o ssh do seu github. No caso em que o ssh foi excluído do github, você pode adicioná-lo novamente. Use
pbcopy < ~/.ssh/id_rsa.pub
para copiar a chave ssh e, em seguida, vá para a configuração ssh do github e adicione-a.fonte
Eu tive esse problema e descobri que meu sistema estava com o endereço de DNS errado. Verifique sua rede e teste com
E leia as mensagens de saída. Se você vir "Você pode usar git ou hg para se conectar ao Bitbucket." , está tudo bem.
fonte
Um problema alternativo pode ser sua conexão com a Internet. Óbvio, talvez, mas demorei alguns minutos para descobrir que meu wi-fi havia caído :)
fonte
Aqui está como eu resolvo esse problema. Eu estava usando Babun (mintty.exe) no Win7 / 10. Quando tentei muitas soluções mencionadas acima, e nenhuma delas funcionou. Percebi que talvez só usei o agente ssh errado ... Então eu corri
echo $GIT_SSH
para descobrir, ele mostra o caminho paraPlink.exe
. O que eu realmente esperava é o OpenSSH.Então, eu adiciono a seguir uma linha ao
~/.zshrc
arquivoE funciona!
fonte
adicione estas linhas ao seu
.get/config
arquivo (graças a @kovshenin, responda Git Pull: Change Authentication ):fonte
Tente https em vez de ssh. Escolha a opção https na página inicial do projeto de onde você copia o URL do clone.
fonte
Se estava funcionando antes e parou de funcionar de repente:
Esse problema pode ser causado porque às vezes
ssh-agent
não é persistente nas reinicializações. Você deve verificar sessh-agent
sua chave foi adicionada:se você obtiver a saída como:
significa
ssh-agent
que perdeu sua chave. Nesse caso, você simplesmente precisa adicionar a chave de identidade novamente. Algo como:O erro deve desaparecer agora!
fonte
git_rsa
à listaIsso também pode acontecer se você estiver se conectando ao seu repositório git por meio de uma VPN. Certifique-se de estar conectado à VPN usada para acessar os recursos de sua organização.
fonte
Encontro este erro ao enviar o projeto para o gitlab. Eu não clonei do git, mas sim fiz upload do projeto. Para enviar seu código ao gitlab, você tem duas maneiras de usar ssh ou https. Se você usar https, deverá inserir o nome de usuário e a senha da conta gitlab. Para empurrar seu código para o git, você pode usar o seguinte.
Empurrando para o Git pela primeira vez
O parâmetro -C é opcional, ele fornece um comentário no final de sua chave para distingui-lo de outros se você tiver vários. Isso criará id_rsa (sua chave privada) e id_rsa.pub (sua chave pública). Passamos nossa chave pública e mantemos nossa chave privada - bem, privada. As configurações do usuário do Gitlab são onde você adicionaria sua chave pública à sua conta , permitindo-nos finalmente enviar.
Na localização do seu projeto (Diretório), use o comando abaixo
Ele transforma o diretório atual em um repositório Git. Isso adiciona um subdiretório .git ao diretório atual e torna possível iniciar a gravação de revisões do projeto.
Push usando o caminho https
Push usando o caminho ssh
- set-upstream: diz ao git o caminho para a origem. Se o Git já tiver feito push em seu branch atual, ele se lembrará de onde está a origem
master : este é o nome do branch que desejo enviar ao inicializar
fonte
Como outras respostas, use em
https
vez dessh
foi a solução.Publico uma resposta para dar um exemplo concreto de uma solução possível. Resolvi esse problema com o bitbucket quando alterei o url remoto para HTTPS com esta linha de comando:
Depois disso, eu poderia enviar o conteúdo para o repositório com este comando:
E então eu também poderia usar Sourcetree
fonte
Estranhamente, só recebi esse erro em um dos meus muitos repositórios.
Meu problema foi depois de instalar o novo GitHub Desktop para Windows onde o antigo GitHub para Win mantinha as chaves
~/.ssh/github_rsa
e~/.ssh/github_rsa.pub
onde o novo GitHub para Win esperava,~/.ssh/id_rsa
então a solução era apenas renomear as chaves públicas e privadas existentes:Depois disso, deixe-me acessar o repo novamente sem problemas.
fonte
use sua origem https em vez do url ssh
exemplo:
fonte
Estou usando o Ubuntu
depois de ler muitas das respostas, nenhum deles pode resolver o problema, mesmo se eu já adicionar a chave SSH à minha conta git, e tentar testá-la usando
ssh -T [email protected]
e disseWelcome <my username>
, mas ainda continua me dizendo que não tenho direitos de acesso. Então descobri que o motivo é:Normalmente, se você não for um
root
usuário, será necessário executar comsudo
todos os comandos do git.durante a execução
sudo git clone <SSH....>
(por exemplo). ele será executado comroot
permissão, mas acidentalmente ao criar a chave SSH eu o executo como usuário normal e salvo a chave~/.ssh/id_rsa
, ele resolve o caminho absoluto/home/username/.ssh/id_rsa
. E ao fazersudo git clone ...
isso, procure a chave SSH em/root/.ssh/id_rsa
Por que eu posso ter certeza disso. Para ver onde git procura sua chave SSH. Executar este comando:
sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>
. Ele mostrará onde procura sua chave SSH.Portanto, a SOLUÇÃO que sugiro é:
Recriar sua chave SSH (siga esta instrução ), MAS execute
sudo su
na primeira etapa, então você ficará bem.fonte
Adicionar a chave ssh funcionou para mim. Você pode criar uma chave ssh com o comando ssh-keygen no mac. Você deve ser capaz de ver o menu Implementar chaves em YourRepository> Settings, não se esqueça de marcar a opção Allow write access.
captura de tela do menu de teclas de implantação
fonte
Erro muito comum foi cometido por mim. Copiei usando o comando clip
xclip -sel clip < ~/.ssh/id_rsa.pub
, mas durante a colagem na caixa de entrada de chave do github, removi a última nova linha usando backspace, que na verdade mudou a chave pública.Portanto, sempre copie e cole a chave pública ssh sem remover a última nova linha.
fonte
Para mim, eu estava tendo problemas com a VPN da empresa, após desligar funcionando bem.
Verifique a conexão com o github usando o comando
ssh -vvvT [email protected]
fonte
Mudar para o uso de obras https. Primeiro mude para https em vez de chaves SSH. git remote set-url origin
Em seguida, ele solicitará o nome de usuário e a senha do git.
fonte