A chave pública e privada permanece a mesma para um usuário ou sistema?

3

Eu tinha solicitado acesso a um repositório Git e ele foi concedido depois que eu dei minhas chaves públicas e privadas.

(gerado usando o método comum ssh-keygen -t rsa que me deu:

<user> @ <hostname> : ~/.ssh $ > ll
total 20K
-rw-------. 1 <user> 1.7K Mar 02 10:14 id_rsa
-rw-r--r--. 1 <user>  407 Mar 02 10:14 id_rsa.pub
-rw-r--r--. 1 <user> 1.3K Mar 01 14:25 known_hosts

No entanto, eu acidentalmente excluí meu diretório pessoal. Felizmente, tive o backup de todos os meus arquivos importantes e, portanto, não foi muito difícil recuperá-los.

Mas, ao tentar clonar o repositório Git novamente usando a chave pública e privada antiga, eu não consegui. O Git me pediu uma senha exatamente como trataria qualquer usuário não autorizado.

Então, eu tive que solicitar o acesso novamente usando minhas chaves pública e privada atuais.

Após a comparação, descobri que as novas chaves são diferentes das primeiras.

Então, minha pergunta é,

  1. Por que a chave pública e privada é alterada para um usuário na mesma máquina?
  2. Em continuação dessa pergunta, por que não posso usar minha chave pública e privada antiga para acessar um repositório quando nada mudou?
  3. As chaves mudarão se eu as criar novamente usando ssh-keygen -t rsa ?

Eu posso fornecer mais informações, se necessário.

    
por newbie 25.03.2014 / 06:51

1 resposta

7
  1. Um par de chaves não está vinculado a você como usuário ou sua máquina. Imagine ter as chaves da sua casa roubadas. As chaves não estão vinculadas a você, qualquer um pode usá-las para destrancar suas portas. Da mesma maneira, se eu colocar minhas mãos em sua chave privada, posso usá-la para fazer alterações em seus repositórios do Github.
  2. Se você deseja acessar seus repositórios usando as novas chaves e as antigas, é necessário verificar se as chaves públicas para os pares de chaves both estão carregadas no Github . Se o Github tiver apenas sua nova chave, ela não poderá autenticá-lo se você usar seu par de chaves antigo.
  3. Sim, as chaves serão alteradas. Esse é o ponto. Imagine comprar uma nova fechadura para sua porta. Se as suas chaves antigas são as mesmas que as novas, isso não lhe fará bem, esp. se você estivesse mudando a fechadura porque alguém roubou sua chave antiga. Se você tivesse uma de suas chaves ssh comprometidas, você poderia simplesmente gerar novas chaves & faça o upload das chaves públicas correspondentes para o Github depois de excluir as antigas. Você também pode ter vários pares de chaves. Gere quantos desejar e use-os para diferentes propósitos. Isso é semelhante a ter várias chaves para vários bloqueios em sua casa.

NUNCA também dê suas chaves privadas. A chave privada é usada para autenticar você como pessoa. Se ponho minhas mãos em sua chave privada, posso fingir ser você. O Github não pode dizer a diferença. Ninguém além de você precisa saber qual é a sua chave privada. Se você enviou sua chave privada para algum lugar, recomendamos excluí-la, gerando um novo par & fazer o upload da nova chave pública apenas por segurança.

Leia mais sobre criptografia de chave pública aqui .

    
por 25.03.2014 / 07:15