chaves ssh privadas / públicas

2

deve ser 02:00 da manhã ... e eu tive zero de sono. No entanto ... Estou tentando fazer com que meu desenvolvedor me envie uma chave ssh pública. Se o cara lhe enviar um arquivo que comece com:

-----BEGIN CERTIFICATE-----
MIIGgzCCBGugAwIBAgIJAOm7SVMTNGm5MA0GCSqGSIb3DQEBBQUAMIGHMQswCQYD
VQQGEwJJTjELMAkGA1UECBMCVVAxDjAMBgNVBAcTBU5vaWRhMREwDwYDVQQKEwhU
ZWttaW5kejEUMBIGA1UECxMLRW5naW5lZXJpbmcxDDAKBgNVBAMTA2RyZzEkMCIG
CSqGSIb3DQEJARYVcm9iLnNwYWRlQHNhc2FpbmMubmV0MB4XDTEyMTAyMzA2MDUw
NloXDTIzMDEyOTA2MDUwNlowgYcxCzAJBgNVBAYTAklOMQswCQYDVQQIEwJVUDEO
MAwGA1UEBxMFTm9pZGExETAPBgNVBAoTCFRla21pbmR6MRQwEgYDVQQLEwtFbmdp
bmVlcmluZzEMMAoGA1UEAxMDZHJnMSQwIgYJKoZIhvcNAQkBFhVyb2Iuc3BhZGVA
-----END CERTIFICATE-----

Um pem cert, correto, não é uma chave pública? :) Devo enviar um e-mail de volta para recriar?
Obrigado! )

    
por CMag 23.10.2012 / 08:14

1 resposta

4

Esse é um certificado x509. Como um certificado contém uma chave pública e uma chave SSH é apenas uma chave pública, é possível convertê-la no formato de chave OpenSSH. É bastante incomum distribuir as chaves desse jeito, então o desenvolvedor pode ter lhe enviado a coisa errada. Para tentar convertê-lo, use algo como o seguinte:

% head -n2 test.crt
-----BEGIN CERTIFICATE-----
MIICWDCCAcGgAwIBAgIJAKyY2+5477dGMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
% openssl x509 -in test.crt -pubkey -noout > test.pub
% ssh-keygen -i -m PKCS8 -f test.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCtpZDQLOzXwlhLWvjquDzfE0hwtUjD1jQCfv5pcuPGfI918d+nKufDbnjCB1mmg2PTZb+PcVv2zeqnvBEISJh6idnOoQSZgx/gkS1VEkOJtaG+ECMUwW4/hiUbGlVkKaIhuy9eyoLdF/pJRE5ZNGNxSxwT/3111gxcZqc8VF1n6w==

Editar : parece que o recurso de importação do PKCS8 foi adicionado em algum lugar entre 5.5p1 e 5.8p1, se o seu ssh-keygen não tiver a opção -m , você precisará encontrar uma versão posterior.

    
por 23.10.2012 / 08:26

Tags