Usando a mesma chave privada SSH em várias máquinas

17

Eu tenho um repositório do Github que desejo acessar de duas máquinas Linux diferentes.

Para a primeira máquina, eu segui as instruções do Github para gerar chaves SSH e adicionei a chave pública resultante para o Github. Este cliente funciona bem.

Para o segundo cliente, copiei o arquivo /home/{user}/.ssh/id_rsa do primeiro cliente. Eu pensei que isso poderia ser tudo que eu tinha que fazer, mas quando eu tento me conectar eu recebo 'Permission denied (publickey)'.

O que estou perdendo?

    
por Yarin 15.08.2010 / 15:35

3 respostas

23

A mesma chave SSH deve poder ser usada de vários clientes. Eu tenho algumas chaves SSH diferentes para redes diferentes e elas são realmente armazenadas em uma unidade USB criptografada que eu uso de vários computadores diferentes sem nenhum problema.

O SSH é muito exigente quanto a permissões de arquivo, então eu primeiro verifico todas as permissões de /home/{user} até o arquivo id_rsa .

O SSH realmente não se importa com as permissões de gravação de grupo ou do mundo, portanto, certifique-se de que você chmod go-w do seu diretório inicial e do diretório ~/.ssh para iniciantes. Eu também me certificaria de que eles são de propriedade de seu usuário chown ${USER}:${USER} .

Para a própria chave SSH, eu chmod 600 them ...

Se você quiser, eu tenho informações adicionais sobre como eu gerencio minhas chaves SSH em meu responda a outra pergunta do SSH.

    
por 15.08.2010 / 15:51
5

Se você está recebendo permissão negada do final do Github, pode ser que ela não esteja pegando o arquivo de chave SSH copiado, mas sim o padrão do sistema. Uma maneira fácil de contornar isso é um ótimo arquivo ~/.ssh/config e colocar o seguinte nele:

Host github.com
  Hostname      github.com
  User          git
  IdentityFile  ~/.ssh/yourkeyfile

Isso forçará seu cliente SSH a usar essa chave somente para o github.com.

Espero que isso ajude.

    
por 15.08.2010 / 16:42
0

Provavelmente, 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

    
por 15.08.2010 / 15:51