Escolhendo o algoritmo de criptografia usado pelo OSX ssh-keygen

7

Eu tenho vários usuários que usam SmartCVS no OSX para interagir com nosso repositório CVS. Usamos o método cvs :ext: (SSH2) para acessar o repositório, que é armazenado em um sistema Linux remoto. Usamos a autenticação por chave ssh e exigimos que os usuários criptografem suas chaves privadas com uma frase secreta.

A versão do ssh-keygen que acompanha o OSX usa AES-128-CBC para criptografar chaves privadas e, aparentemente, qualquer que seja a biblioteca ssh que o SmartCVS usa, não suporta a descriptografia dessa cifra, pois gera um erro. Se eu gerar uma chave no Windows usando PuTTYgen e passar essa chave para o OSX, as coisas funcionam bem. O PuTTYgen (e a maioria das versões do ssh-keygen no linux) usa a cifra DES-EDE3-CBC , que o SmartCVS é capaz de descriptografar sem problemas.

Então, minha pergunta é: existe uma maneira de dizer ao ssh-keygen qual código usar ao criptografar a chave privada? A página ssh-keygen(1) man no OSX não diz nada sobre a possibilidade de definir o tipo de criptografia, mas espero que haja outra maneira de converter para outro tipo de criptografia após a geração.

    
por EEAA 09.02.2012 / 02:36

1 resposta

8

Não tenho certeza sobre como obter o ssh-keygen para criar uma chave usando um algoritmo de criptografia específico.

Você pode gerar sua chave usando o OpenSSL diretamente.

# create 1024 bit rsa and encrypt with des3 
#    make sure you set your umask or chmod this so that it is 0600, 
#    or else ssh will refuse to use it.
openssl genrsa -des3 -out .ssh/id_rsa 1024
# export an ssh public key
ssh-keygen -y -f .ssh/id_rsa > .ssh/id_rsa.pub

Você também pode converter a cifra de uma chave existente após o fato de usar o OpenSSL.

openssl rsa -in id_rsa -out newkey_id_rsa -des3

Veja: genrsa (1) , rsa (1) e ssh-keygen (1) para uma lista das várias opções.

    
por 09.02.2012 / 02:58