Comment puis-je supprimer le mot de passe pour la clé SSH sans avoir à créer une nouvelle clé?
J'ai mis un mot de passe lors de la création d'une nouvelle clé SSH sur mon ordinateur portable. Mais, comme je m'en rends compte maintenant, c'est assez douloureux quand vous essayez de commettre (Git et SVN) à un emplacement distant via SSH de nombreuses fois dans une heure.
D'une façon que je peux penser à est de, " supprimer mon les clés SSH et en créer de nouveaux. Est-il un moyen de supprimer le mot de passe, tout en gardant le même touches?
- Je pense que la stricte réponse est en fait Torsten Marek réponse. Ssh-agent astuce peut être ce que vous cherchez, mais c'est une réponse à une autre question.
- La phrase n'est pas juste une clé pour déverrouiller privé de clé SSH, mais une partie d'un mécanisme de chiffrement. Une partie est votre clé SSH, d'autres - la phrase de passe entrés manuellement. Seulement si les deux parties sont corrects, la clé composite généré à partir à la volée sera valide. Ainsi, à la phrase de passe correspondant à d'autres de clé SSH (et pas de mot de passe est un cas particulier de "l'autre "passphrase").
- La fermeture de ces questions, c'est comme débattre si des effets secondaires dans les langages de programmation devraient être autorisés parce qu'ils sont "purs" ou pas. Les puristes toujours se déchaînent, tandis que les autres ne donnent pas une merde parce que c'est une fonctionnalité très utile et rend la vie plus facile. ssh est nécessaire, même si elle n'est pas strictement de la programmation liée... à ne pas fermer de telles questions. 😐
Vous devez vous connecter pour publier un commentaire.
Réponse courte:
Cela vous demandera alors d'entrer la clé de l'emplacement, de l'ancien mot de passe, et le nouveau mot de passe (qui peut être vide pour avoir sans passphrase).
Si vous souhaitez tout faire sur une seule ligne sans invite à faire:
Important: Attention, lors de l'exécution de commandes ils seront généralement être enregistré dans votre
~/.bash_history
fichier (ou similaire) en texte brut, y compris tous les arguments fournis (c'est à dire les phrases de passe dans ce cas). Il est donc recommandé que vous utilisez la première option, sauf si vous avez une bonne raison de faire autrement. Notez cependant que vous pouvez toujours utiliser-f keyfile
sans avoir à spécifier-P
ni-N
, et que le fichier par défaut~/.ssh/id_rsa
, de sorte que dans de nombreux cas, il n'est même pas nécessaire.Vous pouvez envisager d'utiliser ssh-agent, qui peut mettre en cache le mot de passe pour un temps. Les dernières versions de gpg-agent également en charge le protocole qui est utilisé par ssh-agent.
ssh-keygen -p
dans un terminal. Il vous demandera alors pour un fichier de clés (par défaut, le fichier correct pour moi,~/.ssh/id_rsa
), l'ancien mot de passe entrez ce que vous avez maintenant) et le nouveau mot de passe (n'entrez rien).ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa
~/.bash_history
. Il est préférable de type:$ cd ~/.ssh && ssh-keygen -f id_dsa -p
~/.bash_hstory
Ie. utiliser ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa " et vous êtes très bien( sauf si vous avez d'autres keylogger là). Vous pouvez aussi se débarrasser de l'enregistrement de l'histoire..kill -9 $$
depuis$$
est le pid.HISTCONTROL=ignorespace
dans .bashrc en tant que par défaut.history -c
pour le vider. Vous pouvez aussi, si vous n'avez pas de soins sur l'histoire lien symbolique à/dev/null
. Vous pouvez également supprimer des entrées dans le fichier d'historique. Vous pouvez également modifier directement le fichier. Ou peut-être vous dire que la séance? Le relisant, peut-être vous dire que?ssh-keygen -p -P oldpassphrase -f ~/.ssh/id_rsa
et ontssh-keygen
invite à entrer le nouveau mot de passe? Je ne vois pas pourquoi vous vous souciez de sauver l'ancien mot de passe dans l'histoire, depuis le tempsssh-keygen
a terminé, il n'est plus valide.Vous pouvez ajouter les lignes suivantes à votre .bash_profile (ou l'équivalent), qui commence à ssh-agent de connexion.
Sur certaines distributions Linux (Ubuntu, Debian), vous pouvez utiliser:
Cela va copier l'identifiant généré à une machine distante et l'ajouter à la télécommande porte-clés.
Vous pouvez en lire plus ici et ici.
$ ssh-keygen -p
a fonctionné pour moiOuvert git bash. Collé :
$ ssh-keygen -p
Appuyez sur entrée pour l'emplacement par défaut.
Entrer dans la vieille phrase de passe
Entrer nouveau mot de passe VIDE
Confirmer le nouveau mot de passe VIDE
BOOM de la douleur de saisie de mot de passe pour la commande git push a disparu.
Merci!
Pour changer ou supprimer le mot de passe, je trouve souvent qu'il est plus simple de passer uniquement par le
p
etf
drapeaux, puis de laisser le système m'inviter à fournir les phrases de passe:ssh-keygen -p -f <name-of-private-key>
Par exemple:
ssh-keygen -p -f id_rsa
Entrer un mot de passe vide si vous souhaitez supprimer le mot de passe.
Un exemple d'exécution de supprimer ou de modifier un mot de passe ressemble à quelque chose comme ceci:
Lors de l'ajout d'un mot de passe à une clé qui n'a pas de mot de passe, la course ressemble à quelque chose comme ceci:
Sur windows, vous pouvez utiliser PuttyGen pour charger le fichier de clé privée, supprimer le mot de passe, puis remplacer l'existant fichier de clé privée.
Sur le Mac vous pouvez stocker le mot de passe pour votre clé ssh dans votre Trousseau de clés, ce qui rend l'utilisation de transparents. Si vous êtes connecté, il est disponible lorsque vous êtes déconnecté de votre utilisateur root ne peut pas l'utiliser. Suppression de la phrase de passe est une mauvaise idée parce que n'importe qui avec le fichier peut l'utiliser.
Ajouter à
~/.ssh/config