2010-09-29 7 views
142

J'ai généré une clé privée OpenSSH en utilisant puttygen (et 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)?Comment ajouter un mot de passe à une clé privée OpenSSH générée sans mot de passe?

+12

Si vous voyez ce commentaire, veuillez marquer l'une des réponses comme acceptées ou écrivez un commentaire en disant ce qu'ils ont manqué. Merci! –

+0

Ajouter est identique à changer ou supprimer: http://stackoverflow.com/questions/112396/how-do-i-remove-the-passphrase-for-the-ssh-key-without-having-to-create- a-new-ke, possible même pour le changement: http://serverfault.com/questions/50775/how-do-i-change-my-private-key-passphrase –

+0

Si vous obtenez *** 'Bad passphrase' * ** sur une clé 'id_ed25519' mais le mot de passe est correct, vous utilisez probablement un' ssh-keygen' bas niveau pour le gérer. – jww

Répondre

227

Essayez la commande ssh-keygen -p -f keyfile

de l'homme ssh-keygen Page

-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 
+4

Pour ceux qui veulent savoir ce que -f est: Il spécifie le fichier d'entrée. – Neikos

+1

//, @sigjuice, pourriez-vous poster un exemple, comme '$ ssh-keygen -p -f/Users/sigjuice/.ssh/id_rsa'? Cela pourrait aider les personnes qui ne savent pas faire la différence entre une clé publique et une clé privée, et les aider à se mouiller les pieds plus rapidement. –

25

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é.

Modifier le mot de passe sigjuice montre:

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 authorized_keys.) Test avec ssh:

ssh -i ~/.ssh/id_rsa localhost 

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

+0

//, Voulez-vous montrer un exemple, et comment vérifier que l'option a fonctionné, @BillThor? –

+1

@NathanBasanese Voir la réponse éditée. – BillThor

Questions connexes