À propos des phrases secrètes pour les clés SSH
Avec une clé SSH, si quelqu’un a accès à votre ordinateur, il peut obtenir l’accès à tous les systèmes utilisant cette clé. Pour ajouter une couche de sécurité, vous pouvez ajouter une phrase secrète à votre clé SSH. Pour éviter d’entrer la phrase secrète chaque fois que vous vous connectez, vous pouvez enregistrer en toute sécurité votre phrase secrète dans l’agent SSH.
Ajout ou modification d’une phrase secrète
Vous pouvez modifier la phrase secrète d’une clé privée existante sans regénérer la paire de clés en tapant la commande suivante :
$ ssh-keygen -p -f ~/.ssh/id_ed25519
> Enter old passphrase: [Type old passphrase]
> Key has comment 'your_email@example.com'
> Enter new passphrase (empty for no passphrase): [Type new passphrase]
> Enter same passphrase again: [Repeat the new passphrase]
> Your identification has been saved with the new passphrase.
Si votre clé a déjà une phrase secrète, vous êtes invité à l’entrer avant de pouvoir définir une nouvelle phrase secrète.
Lancement automatique de ssh-agent
sur Git pour Windows
Vous pouvez exécuter ssh-agent
automatiquement quand vous ouvrez un interpréteur de commandes Bash ou Git. Copiez les lignes suivantes et collez-les dans votre fichier ~/.profile
ou ~/.bashrc
dans l’interpréteur de commandes Git :
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Si votre clé privée n’est pas stockée à l’un des emplacements par défaut (comme ~/.ssh/id_rsa
), vous devez indiquer à votre agent d’authentification SSH où la trouver. Pour ajouter votre clé à ssh-agent, tapez ssh-add ~/path/to/my_key
. Pour plus d’informations, consultez « Génération d’une nouvelle clé SSH et ajout de celle-ci à ssh-agent ».
Conseil : Si vous le souhaitez, vous pouvez configurer ssh-agent
pour qu’il oublie votre clé après un certain temps en exécutant ssh-add -t <seconds>
.
Maintenant, quand vous exécutez Git Bash pour la première fois, vous êtes invité à entrer votre phrase secrète :
> Initializing new SSH agent...
> succeeded
> Enter passphrase for /c/Users/YOU/.ssh/id_rsa:
> Identity added: /c/Users/YOU/.ssh/id_rsa (/c/Users/YOU/.ssh/id_rsa)
> Welcome to Git (version 1.6.0.2-preview20080923)
>
> Run 'git help git' to display the help index.
> Run 'git help <command>' to display help for specific commands.
Le processus ssh-agent
poursuit son exécution jusqu’à ce que vous vous déconnectiez, arrêtiez votre ordinateur ou tuiez le processus.
Enregistrement de votre phrase secrète dans le trousseau
Sur Mac OS X Leopard et jusqu’à Mac OS X El Capitan, ces fichiers de clés privées par défaut sont gérés automatiquement :
- .ssh/id_rsa
- .ssh/identity
La première fois que vous utilisez votre clé, vous êtes invité à entrer votre phrase secrète. Si vous choisissez d’enregistrer la phrase secrète avec votre trousseau, vous n’aurez pas à l’entrer à nouveau.
Sinon, vous pouvez stocker votre phrase secrète dans le trousseau quand vous ajoutez votre clé à ssh-agent. Pour plus d’informations, consultez « Génération d’une nouvelle clé SSH et ajout de celle-ci à ssh-agent ».