web-dev-qa-db-fra.com

ssh-keygen ne crée pas de clé privée RSA

J'essaie de créer une clé privée et j'ai un problème.

Lorsque j'utilise ssh-keygen -t rsa -b 4096 -C "[email protected]", J'obtiens une clé privée au format suivant.

-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

Et cela n'est pas accepté pour une application que j'essaie d'utiliser.

J'attends une clé dans le format RSA suivant.

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

Comment créer le format correct? C'est bizarre parce que tous les autres mac que j'ai créent le format correct, sauf celui avec lequel j'ai des problèmes.

Je suis sur un nouveau Mac OS Mojave installé

91
Moon

J'ai récemment rencontré le même problème (après la mise à niveau vers mojave 10.14.1), voici 2 solutions possibles pour ce problème.

  • Rétrogradez votre binaire ssh-keygen (vous pouvez facilement obtenir l'ancienne version à partir de n'importe quelle image linux/docker)

[~ # ~] ou [~ # ~]

  • Ajouter une option -m PEM dans votre commande ssh-keygen. Par exemple, vous pouvez exécuter ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]" pour forcer ssh-keygen à exporter au format PEM.

Il semble que dans la version actuelle de ssh-keygen dans mojave, le format d'exportation par défaut soit RFC4716 comme mentionné ici

91
sayboras

Les nouvelles clés au format de clé privée OpenSSH peuvent être converties à l'aide de l'utilitaire ssh-keygen vers l'ancien format PEM.

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

Il n'est pas nécessaire de rétrograder vers une ancienne version d'OpenSSH uniquement pour obtenir ce résultat.

76
mydeardiary