1335 votes

Comment puis-je supprimer la phrase secrète de la clé SSH sans avoir à créer une nouvelle clé?

J’ai mis un mot de passe lorsque vous créez une nouvelle clé SSH sur mon ordinateur portable. Mais, comme je me rends compte maintenant, c’est très douloureux quand vous essayez de valider (Git et SVN) vers un emplacement distant via SSH plusieurs fois en une heure.

Une façon que je peux penser est, supprimer mes clés SSH et créer de nouvelles. Y a-t-il un moyen de supprimer le mot de passe, tout en gardant les mêmes touches ?

2451voto

Torsten Marek Points 27554

Réponse courte:

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

Toutefois, vous pouvez envisager d'utiliser ssh-agent, qui peut mettre en cache la phrase secrète pendant un certain temps.

Les dernières versions de gpg-agent prennent également en charge le protocole utilisé par ssh-agent.

46voto

mlambie Points 4101

Vous pouvez ajouter ce qui suit à votre fichier .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
 

Cela copiera l'identifiant généré sur une machine distante et l'ajoutera au trousseau distant.

Vous pouvez en lire plus ici et ici .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X