Eu tenho várias chaves ssh e também tenho conta no bitbucket e no github. como sempre que eu uso puxar me dá erro
:/var/www/proj$ git pull origin master
conq: repository access denied.
fatal: The remote end hung up unexpectedly
ou se eu ssh o site bitbucket ele dá erros ass chave pública negada
:~$ ssh [email protected]
Permission denied (publickey).
como posso resolver isso e usar chaves diferentes com contas diferentes.
Respostas:
Tudo isso é coletado no site e no stackoverflow, espero que ajude quem é novo no ssh
então você pode ter muitas chaves ssh
Nota: precisamos adicionar então ao ssh-agent, provavelmente id_rsa será adicionado, portanto, precisamos adicionar a outra chave privada
agora adicionamos as duas chaves ssh ao ssh-agent
temos um para o bitbucket e outro para o github
então criamos um arquivo de configuração como este
Nota: Estou usando duas chaves diferentes para duas contas diferentes no bitbucket e uma no github.
Agora precisamos dizer ao repositório git qual host usar, para que eu obtenha a chave ssh específica para essa conta específica
mude
[email protected]/yyyproject.git
paragit@bit-yyyuser:yyyuser/yyyproject.git
na pasta do projeto e adicione o URL remoto
em outro projeto
agora você pode usar empurrar e puxar facilmente
e outro projeto
agora não tenho o projeto github na máquina local, por isso precisamos clonar o projeto, mas precisamos fazer uma pequena alteração no URL para clonar
nosso URL é assim
como precisamos cloná-lo com chaves específicas, basta alterar o nome do host com o host que definimos
conforme definido no arquivo de configuração
e agora podemos clonar
identificamos chaves ssh diferentes para host diferente, uma para git e outra para bitbucket agora o sistema sabe quais chaves ssh devem ser usadas com qual host.
Agora podemos facilmente puxar, empurrar.
fonte
Eu configuro
~/.ssh/config
, assim:use o nome do host personalizado em vez do domínio real no git url:
Para obter mais detalhes, leia aqui: http://itblog.study.land/how-to-specify-different-ssh-keys-for-git-push-for-a-given-domain/
fonte