Introduction
La gestion manuelle de vos clés SSH peut vite devenir laborieuse, surtout lorsque l’on travaille sur plusieurs projets ou hôtes distants. Avec ssh-keybuild, j’ai voulu créer un outil simple, robuste et polyvalent pour :
- Générer des clés ed25519 ou rsa en un clin d’œil
- Ajouter automatiquement la clé à un agent SSH
- Copier la clé publique dans le presse-papiers
- Mettre à jour votre
~/.ssh/configsans doublons
Dans cet article, nous examinerons les principales fonctionnalités du script et verrons comment l’adopter en quelques minutes.
Où trouver le script
Le code complet est disponible sur GitHub :
Installation rapide
Clonez le dépôt, puis créez un lien vers le script dans un répertoire de votre PATH :
mkdir -p ~/.local/bin
git clone https://github.com/mhbxyz/useful-shell-scripts.git ~/.local/bin/useful-shell-scripts
ln -s ~/.local/bin/useful-shell-scripts/ssh-keybuild.sh ~/.local/bin/ssh-keybuild
chmod +x ~/.local/bin/ssh-keybuild
Utilisation et options
La syntaxe suivante présente les options disponibles :
ssh-keybuild -e email@example.com \
[-n nom_de_la_cle] \
[-t ed25519|rsa] \
[-m "Mon commentaire"] \
[-p true|false] \
[-c true|false] \
[-h hostname.com] \
[-a alias]
- -e (requis) : adresse e‑mail associée
- -n : nom du fichier de clé (
id_keypar défaut) - -t : type de clé (
ed25519par défaut, oursa) - -m : commentaire à inclure
- -p : ajouter à l’agent SSH (
falsepar défaut) - -c : copier la clé publique (
truepar défaut) - -h : hôte à insérer dans
~/.ssh/config - -a : alias de l’hôte (par défaut, le nom de l’hôte)
Fonctionnalités avancées
- Génération conditionnelle
Le script détecte automatiquement votre choix de type de clé et adapte la commande
ssh-keygen. - Sécurité par défaut
Le répertoire
~/.sshest créé avec les bonnes permissions (700), et le fichierconfigreçoit600. - Idempotence de la config
Avant d’ajouter un bloc
Host, le script vérifie qu’il n’existe pas déjà, pour éviter toute duplication.
Exemple concret
ssh-keybuild -e moi@exemple.com -t rsa -m "Usage pro" -p true -h github.com
En moins de 30 secondes, votre nouvelle clé RSA de 4 096 bits est générée et ajoutée à l’agent. Sa clé publique est copiée dans le presse-papiers et la configuration SSH est mise à jour.
Conclusion
ssh-keybuild vous fait gagner un temps précieux et élimine les erreurs manuelles. Si, comme moi, vous gérez plusieurs clés et hôtes, ce script deviendra vite indispensable !
Discussion