web-dev-qa-db-fra.com

Comment ajouter un mot de passe à une clé privée OpenSSH générée sans mot de passe?

J'ai généré une clé privée OpenSSH à l'aide de puttygen (et je l'ai exportée au format OpenSSH). Comment puis-je mettre un mot de passe sur cette clé existante (je sais comment générer une nouvelle clé avec un mot de passe)?

173
Conrad

Essayez la commande ssh-keygen -p -f keyfile

À partir de la page de manuel ssh-keygen

 -p      Requests changing the passphrase of a private key file instead of
         creating a new private key.  The program will Prompt for the file
         containing the private key, for the old passphrase, and twice for
         the new passphrase.

 -f filename
         Specifies the filename of the key file.

Exemple:

ssh-keygen -p -f ~/.ssh/id_rsa
275
sigjuice

Utilisez l'option -p pour ssh-keygen. Cela vous permet de changer le mot de passe plutôt que de générer une nouvelle clé.

Changez le mot de passe comme indiqué par sigjuice:

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

Le mot de passe requis sera le nouveau mot de passe. (Cela suppose que vous avez ajouté la clé publique ~/.ssh/id_rsa.pub à vos fichiers allowed_keys.) Testez avec ssh:

ssh -i ~/.ssh/id_rsa localhost

Vous pouvez avoir plusieurs clés avec des noms différents pour des utilisations différentes.

31
BillThor

Vous pouvez également utiliser openssl:

openssl rsa -aes256 -in ~/.ssh/your_key -out ~/.ssh/your_key.enc
mv ~/.ssh/your_key.enc ~/.ssh/your_key
chmod 600 ~/.ssh/your_key

voir: https://security.stackexchange.com/a/59164/194668

0
sharez