Formato de chave pública SSH

5

Eu tenho uma chave pública no formato:

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

Normalmente, vejo as chaves no formato assim:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Posso apenas copiar a primeira chave no arquivo authorized_keys ou tenho que modificá-la de alguma forma, para que se pareça com a segunda? Eu acho que o primeiro foi gerado pelo PUTTYgen enquanto o segundo foi gerado pelo ssh-keygen.

    
por Hans 18.04.2012 / 16:38

4 respostas

13

use ssh-keygen -i para converter o formato compatível com SSH2 para o formato compatível com OpenSSH.

de man ssh-keygen :

-i This option will read an unencrypted private (or public) key file in SSH2-compatible format and print an OpenSSH compatible private (or public) key to stdout. ssh-keygen also reads the RFC 4716 SSH Public Key File Format. This option allows importing keys from several commercial SSH implementations.

    
por 18.04.2012 / 16:49
3

Você precisa converter a chave pública em convenção openssh:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

Verifique também se a chave ocupa exatamente uma linha e não foram introduzidas quebras de linha durante a cópia.

    
por 18.04.2012 / 16:45
1

Apenas reescreva sua chave no formato adequado para authorized_keys :

keytype keybody keyname

Lembre-se de que "==" são espaços reservados necessários para manter o comprimento de chave igual ao tamanho desejado.

    
por 18.04.2012 / 16:43
1

Todas as respostas erradas. Este é o correto:

ssh-keygen -i -m PKCS8 -f public-key.pem

    
por 28.03.2018 / 16:55