Como armazenar a chave SSH RSA-4096 no novo formato de chave do OpenSSH

1

Parece que não consigo gerar uma chave RSA-4096 SSH no novo formato de chave do OpenSSH com o seguinte comando:

$ ssh-keygen \
  -f rsa4096_key \
  -t rsa \
  -b 4096 \
  -C 'This is a test' \
  -o \
  -N ''

Pelo menos recebo a seguinte mensagem de erro após tentar alterar o comentário existente da chave SSH do RSA-4096:

$ ssh-keygen -cf rsa4096_key
Comments are only supported for keys stored in the new format (-o).

Portanto, mesmo que eu tenha especificado o sinalizador -o durante a geração de chaves, a chave SSH do RSA-4096 parece estar escrita no antigo formato de chave PEM em vez de .

N.B. Para uma chave Ed25519 SSH , posso alterar retroativamente o seu comentário.

De acordo com a manpage SSH-KEYGEN(1) da versão do OpenSSH OpenSSH_7.7p1 :

-o Causes ssh-keygen to save private keys using the new OpenSSH format rather than the more compatible PEM format. The new format has increased resistance to brute-force password cracking but is not supported by versions of OpenSSH prior to 6.5. Ed25519 keys always use the new private key format.

Alguém tem uma solução para esse problema ou pode me dizer o que eu fiz de errado? Obrigado!

Atualização: A solução proposta pelo @slm funciona para mim, embora a manpage enganosa e a confusa saída do console. Basicamente o comando:

$ ssh-keygen -f rsa4096_key -o -c -C 'here goes your comment'
Key now has comment 'This is a test'
The comment in your key file has been changed.

Quando executado novamente, isso prova que ele alterou o comentário para o que foi fornecido na linha de comando anterior:

$ ssh-keygen -f rsa4096_key -o -c -C 'Hello World!'
Key now has comment 'here goes your comment'
The comment in your key file has been changed.

Por isso, aceitei a resposta do @slm.

    
por Tim Friske 09.07.2018 / 00:06

1 resposta

1

Acho que isso é um bug tanto no comportamento de -o quanto no bug da documentação no OpenSSH.

Isso funciona para mim:

$ ssh-keygen \
  -f rsa4096_key \
  -t rsa \
  -b 4096 \
  -C 'This is a test' \
  -o \
  -N ''

$ grep -o "This.*" rsa4096_key.pub
This is a test

O comentário está sendo armazenado no arquivo rsa4096_key.pub . Como o arquivo .pub sempre pode ser extraído da chave privada, também é por definição no arquivo de chave privada.

Este SU Q & A intitulado: Como posso alterar o campo de comentário de uma chave RSA (SSH)? mostra algumas análises sobre isso. Também há um comentário sobre este SF Q & A intitulado: possível alterar endereço de e-mail no par de chaves? .

Principalmente:

From OpenSSH 6.5 onwards, works with all key types, not just RSA1:

ssh-keygen -f ~/.ssh/keyfilename -o -c -C "here goes your comment"
  • -f: private key file
  • -o: convert the private key from PEM to the new OpenSSH format
  • -c: change the comment in the private and public key files
  • -C: comment text
Referências
por 09.07.2018 / 01:22