Eu tenho um repositório do Github que quero acessar de duas máquinas Linux diferentes.
Para a primeira máquina, segui as instruções do Github para gerar chaves SSH e adicionei a chave pública resultante ao Github. Este cliente funciona bem.
Para o segundo cliente, copiei o /home/{user}/.ssh/id_rsa
arquivo do primeiro cliente. Eu pensei que isso poderia ser tudo o que eu tinha que fazer, mas quando tento conectar, recebo 'Permissão negada (chave pública)'.
o que estou perdendo?
Se você está recebendo permissão negada do final do Github, pode ser que ele não esteja pegando seu arquivo de chave SSH copiado, mas o padrão do sistema. Uma maneira fácil de contornar isso é criar um
~/.ssh/config
arquivo excelente e colocar o seguinte:Isso forçará o seu cliente SSH a usar essa chave apenas no github.com.
Espero que isto ajude.
fonte
Sei que isso é antigo, mas pensei em apontar que você também precisa copiar a chave pública para o segundo cliente
(ou recompute-o com ssh-keygen -y -f ~ / .ssh / id_rsa_ ..> ~ / .ssh / id_rsa ... pub)
A partir de 1]:
Seu cliente ssh inicia a autenticação enviando a chave pública (a assinatura mencionada em negrito acima) para o servidor. O servidor, se a chave pública for uma chave autorizada, envia um ID de sessão aleatória de volta ao seu cliente. Seu cliente codifica a ID da sessão com a chave privada e a envia de volta ao servidor. O servidor decodifica esse ID da sessão usando a chave pública e, se ele corresponder ao ID da sessão original, autentica seu cliente.
[1] [ http://www.openssh.org/txt/rfc4252.txt[[1]
fonte
Provavelmente porque você não copiou a permissão do arquivo no segundo cliente.
Mas uma chave privada é privada , o caminho certo é criar uma nova chave privada no segundo cliente e depois adicionar sua chave pública ao Github
fonte