É possível alterar o endereço de e-mail no par de chaves?

134

Criei um par de chaves RSA que usei para SSH e ele inclui meu endereço de email. (No final da chave pública.)

Agora mudei meu endereço de e-mail.

É possível alterar o endereço de e-mail na chave ou faz parte da chave e eu precisaria fazer um novo?

Ram Rachum
fonte

Respostas:

172

Criei um par de chaves RSA que usei para SSH e ele inclui meu endereço de email. (No final da chave pública.)

Essa parte de uma chave ssh é apenas um comentário. Você pode alterá-lo para o que quiser a qualquer momento. Nem precisa ser o mesmo em servidores diferentes. Você pode removê-lo também. Ele está lá apenas para ajudar você ou outra pessoa a descobrir o que excluir quando tiver muitas chaves em um arquivo allowed_keys e precisar revogar ou alterar uma delas.

ssh-rsa AAAAB3N....NMqKM= this_is_a_comment

Quando crio minhas chaves com ssh-keygen, geralmente uso um comando como este para definir um comentário diferente. Eu não acho que o nome de usuário @ host seja muito útil. Você certamente pode colocar qualquer comentário que desejar que seja útil para você e quaisquer outros administradores para ajudar a identificar a quem a chave pertence.

ssh-keygen ... -C YYYYMMDD_surname_givenname
Zoredache
fonte
5
Tão feliz que eu não tenho que mudar minhas chaves ...
Ram Rachum
Fico feliz em perceber que não preciso usar meu endereço de e-mail. Alguma idéia de por que você gostaria de adicionar um comentário à chave? Talvez eu pudesse me safar do site em que é usado, em vez do meu e-mail.
LeetNightshade
Bem, eu quero (exijo) comentários nos meus sistemas porque existem 8 técnicos de rede e um grande número de sistemas que usam chave para tarefas automatizadas. Meu arquivo típico authorised_keys possui entre 10 e 15 chaves. Existem comentários para as pessoas reconhecerem a que cada chave pertence. De qualquer forma, os comentários existem para facilitar o gerenciamento de chaves. Você pode usá-los como quiser.
Zoredache
2
Como os comentários são sempre o último item de um authorized_keysarquivo, os espaços são permitidos; portanto, você não precisa usar sublinhados.
IQAndreas
@IQAndreas, você está certo, é claro, mas eu também uso esse comentário em alguns outros lugares onde isso importa. Por exemplo, eu tenho o nome do meu comentário igual ao nome do arquivo da minha chave, pois ele é armazenado no meu diretório /.ssh. Eu sei que os espaços também são permitidos nos arquivos, mas não usá-los facilita a referência ao meu arquivo a partir do CLI.
Zoredache
18

Você pode alterar o comentário para as chaves RSA1 usando ssh-keygen -c.

na página de manual do ssh-keygen:

 -c      Requests changing the comment in the private and public

arquivos-chave. Esta operação é suportada apenas para chaves RSA1. O programa solicitará o arquivo que contém as chaves privadas, a senha, se a chave tiver uma, e o novo comentário.

Portanto, para alterar o comentário de uma chave localizada em ~/.ssh/some_key, use o seguinte comando:

ssh-keygen -c -f ~/.ssh/some_key -C "my new comment"

Onde a -fopção é seguida pela tecla que você deseja alterar e -Cé seguida pelo novo comentário.

dmourati
fonte
7
ssh-keygen -c -f id_fooretornaComments are only supported for RSA1 keys.
Edward Falk
+1 , isso funciona com chaves ed25519 OpenSSH também. As chaves ed25519 são completamente codificadas em Base64. O comentário não pode ser retirado com um editor de texto.
11

A partir do OpenSSH 6.5 , funciona com todos os tipos de chave, não apenas com o RSA1:

ssh-keygen -f ~/.ssh/keyfilename -o -c -C "here goes your comment"

Opções de comando explicadas:

  • -f: arquivo de chave privada
  • -o: converte a chave privada do PEM para o novo formato OpenSSH
  • -c: altere o comentário nos arquivos de chave pública e privada
  • -C: texto do comentário

Consulte também: ssh-keygen(1)página de manual (atual)

Pequena floresta antiga Kami
fonte
Obrigado @AntoineCotten - usará sua edição como referência para respostas futuras. :-)
Little Ancient Forest Kami