Question Comment changer ma phrase secrète de clé privée?


J'ai une paire de clés publique / privée existante. La clé privée est protégée par un mot de passe et le chiffrement peut être RSA ou DSA. Ces clés sont le genre que vous générez avec ssh-keygen et généralement stocker sous ~/.ssh.

J'aimerais changer le mot de passe de la clé privée. Comment puis-je m'y prendre, sur un shell Unix standard?

Aussi, comment puis-je simplement supprimer le mot de passe? Il suffit de changer pour vider?


219
2017-08-06 05:37


origine




Réponses:


Pour changer la phrase secrète de votre clé DSA par défaut:

$ ssh-keygen -p -f ~/.ssh/id_dsa

Indiquez ensuite votre ancienne phrase de passe et la nouvelle (deux fois) à l'invite. (Utilisation ~/.ssh/id_rsa si vous avez une clé RSA.)

Plus de détails de man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -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.
[...]

284
2017-08-06 06:01



Ceci est tiré de la page de manuel fournie avec net-misc / openssh-5.2_p1-r2 sur Gentoo Linux. - Mike Mazur
En outre, par souci de futur paresseux, je inverserais l'ordre: réponses rapides en premier, page de manuel plus tard. - kch
Je pense que la réponse est excellente car elle indique à la fois où vous pouvez modifier le mot de passe et où chercher la réponse. J'ai aidé beaucoup de gens à configurer les clés SSH et pour eux, se souvenir de l'outil qu'ils ont utilisé n'est pas toujours facile. En outre, rechercher la réponse sur Internet est la première option pour beaucoup ... - sastorsl
Si vos machines utilisent OpenSSH> = 6.5, vous devriez utiliser le -o option pour activer le nouveau format de clé privée (bcrypt en tant que KDF par défaut). Avec les anciennes versions OpenSSH, utiliser PKCS # 8 pour des fichiers de clés privées plus sécurisés. - Quinn Comendant
@FranciscoLuz la commande dans ma réponse est spécifique à une clé DSA. Si vous avez une clé RSA, votre commande est correcte. J'ai ajouté un texte à la réponse pour résoudre ce problème. - Mike Mazur


Supprimez vos clés publiques / privées SSH:

rm ~/.ssh/id_rsa*

Recréez la paire de clés en choisissant une nouvelle phrase secrète:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

Ajoutez la clé privée nouvellement créée à votre trousseau OS X pour stocker la phrase secrète et gérer son déverrouillage automatique:

ssh-add -K ~/.ssh/id_rsa

Copiez la clé publique dans le Presse-papiers OS X pour l'ajouter à des services Web tels que GitHub, etc.

cat ~/.ssh/id_rsa.pub | pbcopy

Ajoutez votre clé publique nouvellement créée au ~/.ssh/authorized_keys fichier du serveur distant. Assurez-vous d’obtenir les autorisations appropriées à la fois de la télécommande ~/.ssh dossier (700) et ~/.ssh/authorized_keys (600). Vous voudrez peut-être enquêter en utilisant ssh-copy-id pour faciliter ce processus.


-7
2018-02-20 15:17



L’affiche demandait comment changer la phrase secrète de leur clé, ne pas la jeter et en générer une nouvelle; et ils n'ont jamais mentionné OS X. - musicinmybrain
J'aurais voté cette réponse s'il n'y avait pas eu ces trois problèmes: 1. La suppression des anciennes clés n’est pas un bon début, car vous en aurez besoin lors de la mise à jour. authorized_keys. 2 Vous n'avez pas mentionné pourquoi il est préférable de créer de nouvelles clés plutôt que de changer les mots de passe avec les anciennes. 3 Vous faites des hypothèses sur le système d'exploitation, ce que la question ne prend pas en charge. - kasperd