De temps en temps, il peut être nécessaire de mettre à jour les mots de passe utilisés de vos clés privées.
Dans cet article je vais vous montrer un moyen simple et rapide pour accomplir cette tâche.
Changer la passphrase depuis l’invite interactive:
ssh-keygen -p
L’invite vous demandera alors le chemin de votre clé (/home/user/.ssh/id_rsa par défaut), l’ancien mot de passe, puis de confirmer 2 fois votre nouveau mot de passe:
Enter file in which the key is (/home/john/.ssh/id_rsa): /home/john/.ssh/id_rsa Enter old passphrase: ****** Enter new passphrase (empty for no passphrase): ****** Enter same passphrase again: ****** Your identification has been saved with the new passphrase.
Vous pouvez également directement indiquer le chemin de votre clé:
ssh-keygen -p /home/john/.ssh/NomDeLaClé
Enter old passphrase: ****** Enter new passphrase (empty for no passphrase): ****** Enter same passphrase again: ****** Your identification has been saved with the new passphrase.
Mais aussi changer la passphrase avec une seule commande:
ssh-keygen -p -f ~ /home/john/.ssh/NomDeLaClé -P "AnciennePassphrase" -N "NouvellePassphrase"
Il existe d’autres options, pour les découvrir je vous laisse jeter un coup d’œil au manuel:
SYNOPSIS ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-keygen -i [-m key_format] [-f input_keyfile] ssh-keygen -e [-m key_format] [-f input_keyfile] ssh-keygen -y [-f input_keyfile] ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile] ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile] ssh-keygen -B [-f input_keyfile] ssh-keygen -D pkcs11 ssh-keygen -F hostname [-f known_hosts_file] [-l] ssh-keygen -H [-f known_hosts_file] ssh-keygen -R hostname [-f known_hosts_file] ssh-keygen -r hostname [-f input_keyfile] [-g] ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point] ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines] [-j start_line] [-K checkpt] [-W generator] ssh-keygen -s ca_key -I certificate_identity [-h] [-U] [-D pkcs11_provider] [-n principals] [-O option] [-V validity_interval] [-z serial_number] file ... ssh-keygen -L [-f input_keyfile] ssh-keygen -A [-f prefix_path] ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] file ... ssh-keygen -Q -f krl_file file ...
Pour finir si vous souhaiter supprimer la passephrase, laisser le champ vide et validez.