Comment puis-je supprimer le mot de passe pour la clé SSH sans avoir à créer une nouvelle clé?

StackOverflow https://stackoverflow.com/questions/112396

Question

J'ai défini un mot de passe lors de la création d'une nouvelle clé SSH sur mon ordinateur portable. Mais, comme je le sais maintenant, c’est très pénible lorsque vous essayez de vous engager ( Git et SVN ) vers un emplacement distant plusieurs fois par heure sur SSH.

Une des façons dont je peux penser est de supprimer mes clés SSH et d’en créer de nouvelles. Existe-t-il un moyen de supprimer la phrase secrète tout en conservant les mêmes clés?

Était-ce utile?

La solution

Réponse courte:

$ ssh-keygen -p

Ceci vous invitera ensuite à entrer l'emplacement du fichier de clés, l'ancienne phrase secrète et la nouvelle phrase secrète (qui peuvent être laissés vides pour ne pas avoir de phrase secrète).

Si vous souhaitez tout faire sur une seule ligne sans invite, faites:

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

Important: Notez que lors de l'exécution des commandes, elles seront généralement consignées dans votre fichier ~ / .bash_history (ou similaire) en texte brut, y compris tous les arguments fournis (c'est-à-dire mots de passe dans ce cas). Il est donc recommandé d’utiliser la première option à moins que vous n’ayez une raison spécifique de faire autrement. Notez cependant que vous pouvez toujours utiliser -f fichier_fichier sans avoir à spécifier -P ni -N , et que le fichier de clés est par défaut . ~ / .ssh / id_rsa , dans de nombreux cas, cela n'est même pas nécessaire.

Vous pouvez envisager d'utiliser ssh-agent, qui peut mettre la phrase secrète en mémoire cache pendant un certain temps. Les dernières versions de gpg-agent prennent également en charge le protocole utilisé par ssh-agent.

Autres conseils

Vous voudrez peut-être ajouter les éléments suivants à votre .bash_profile (ou équivalent), qui démarre ssh-agent lors de la connexion.

if [ -f ~/.agent.env ] ; then
    . ~/.agent.env > /dev/null
    if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then
        echo "Stale agent file found. Spawning new agent… "
        eval `ssh-agent | tee ~/.agent.env`
        ssh-add
    fi 
else
    echo "Starting ssh-agent"
    eval `ssh-agent | tee ~/.agent.env`
    ssh-add
fi

Sur certaines distributions Linux (Ubuntu, Debian), vous pouvez utiliser:

ssh-copy-id -i ~/.ssh/id_dsa.pub username@host

Ceci copiera l’ID généré sur un ordinateur distant et l’ajoutera au trousseau.

Vous pouvez en savoir plus ici et ici .

$ ssh-keygen -p a travaillé pour moi

ouvert git bash. Collé: $ ssh-keygen -p

Appuyez sur enter pour l'emplacement par défaut.

Entrez l'ancienne phrase de passe

Entrer un nouveau mot de passe - BLANK

Confirmer la nouvelle phrase secrète - BLANK

BOOM la douleur d'entrer dans la phrase secrète pour git push avait disparu.

Merci!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top